小编A.J*_*.J.的帖子

使用Coldfusion在MySQL中保存文件

我正在尝试使用Coldfusion将从表单上传的文件(pdf或图像)保存到MySQL数据库中.我将文件作为二进制数据保存到数据库中,该数据库的列设置为BLOB但无法将文件写回屏幕.将文件保存在数据库中然后在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>
Run Code Online (Sandbox Code Playgroud)

将文件写回屏幕

<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#">
Run Code Online (Sandbox Code Playgroud)

mysql coldfusion

2
推荐指数
1
解决办法
2633
查看次数

标签 统计

coldfusion ×1

mysql ×1