当使用coldfusion存储文件(可以是.txt、.doc、.docx)时,我希望能够检索这些文件。我已经在谷歌上搜索了一段时间,但似乎找不到答案。
基本上:如何检索可以是多种文件扩展名的 blob(SQL Server 2008 中的 varbinary(MAX)),然后提供下载?
这是我的上传/下载代码,其中的下载让我很困惑:
<!--- <form action="resume.cfm" method="post" enctype="multipart/form-data">
Select File: <input type="file" name="upload" />
<input type="submit" value="Upload File" />
</form>
<cfif structKeyExists(form, "upload")>
<cfquery datasource="#application.dsn.recAppTest#" name="resume">
INSERT INTO resume (resume)
VALUES(
<cfqueryparam cfsqltype="cf_sql_blob" value="#FileReadBinary(FORM.upload)#">
)
</cfquery>
</cfif> --->
<cfoutput>
<cfquery datasource="#application.dsn.recAppTest#" name="resume">
SELECT * FROM resume
</cfquery>
<cfdump var="#resume#" />
</cfoutput>
<cfheader name="Content-Disposition" value="attachment; filename=""> <!--- what goes here if I don't know the incoming extension?? --->
<cfcontent type="text/plain, application/vnd.openxmlformats-officedocument.wordprocessingml.document" />
我什至不确定这是否可能(我希望是),但如果不是,解决方法是(在上传时)在文件扩展名转换为数字(varbinary)之前获取文件扩展名并将其存储为单独的字段?