Faça o upload de arquivo para o banco de dados em Coldfusion
-
25-09-2019 - |
Pergunta
Eu simplesmente gostaria de fazer upload de um arquivo no meu banco de dados usando o ColdFusion. Entendo como fazer upload de uma imagem para um diretório, mas gostaria de colocá -la diretamente no banco de dados.
Definei um campo de banco de dados como Varbinary (Max) para aceitar a imagem e ter o procedimento armazenado para inseri -la. Atualmente, meu código para fazer upload da imagem para o meu sistema de arquivos é:
<cfif isdefined("form.FileUploadImage")>
<cffile action="upload" filefield="FileUploadImage" destination="#uploadfolder#" nameconflict="overwrite" accept="image/*" >
</cfif>
Obviamente, deixei alguns dos códigos de suporte, mas realmente tudo o que preciso fazer é obter uma representação binária do arquivo armazenado na memória, em vez do sistema de arquivos.
Algum especialista por aí que pode ajudar?
Obrigado, George
Solução
Algo assim?
<cfquery>
INSERT INTO Image (Jpg)
VALUES (
<cfqueryparam CFSQLType="CF_SQL_BLOB"
value="#ToBase64(FileReadBinary(uploadedFilePath))#">
</cfquery>
Mais tarde, se você quiser transmitir a imagem de volta ao navegador, use <cfimage>
(CF8+)
Outras dicas
A maneira de ignorar o arquivo de salvamento para o sistema de arquivos:
<cfqueryparam cfsqltype="cf_sql_blob"
value="#FileReadBinary(FORM.FileUploadImage)#">