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

Foi útil?

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)#">
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top