Я пытаюсь сохранить файл (pdf или изображение), загруженный из формы в базу данных MySQL, используя Coldfusion. Я сохраняю файл как двоичные данные в базе данных, которая имеет настройку столбца как BLOB, но не удается записать файл обратно на экран. Каков правильный способ сохранить файл в базе данных, а затем восстановить файл в Coldfusion? Примечание. Клиент хочет файлы, хранящиеся в базе данных, а не в файловой системе.Сохранить файл в MySQL с помощью Coldfusion
Сохранение файла в коде базы данных
<cffile action="upload" filefield="form.file_upload" destination="#fileDirectory#" result="file_result" nameconflict="makeunique">
<cfif #file_result.fileWasSaved# IS 'Yes'>
<cfset title = Evaluate('form.file_title')>
<cffile action="readbinary" file="#fileDirectory#/#file_result.serverFile#" variable="file_binary_data">
<cfquery name="insertFile" datasource="#request.app.datasource#">
INSERT INTO (table) (form_id, file_name, file_info)
VALUES ('#form_id#', <cfqueryparam value="#title#" cfsqltype="CF_SQL_VARCHAR">, <cfqueryparam value="#file_binary_data#" cfsqltype="CF_SQL_BLOB">)
</cfquery>
Запись файла обратно на экран
<cfheader name="content-length" value="#ArrayLen(getFile.file_info)#" />
<cfheader name="content-disposition" value="inline; filename=#getFile.file_name#.gif" />
<cfcontent type="image/*" variable="#getFile.file_info#">
Спасибо, увеличив буфер в MySQL и обновив dsn в Coldfusion, чтобы принять BLOB-файлы, заработал! –