It's been a while since I used this, but it should work. Make sure you
enable BLOB support on the CF datasource for this connection. Also,
make sure you have a field with a datatype of "Image". This was built
for SQL Server 2000.
GetFile.cfm
-----------
<cfsetting enablecfoutputonly="Yes">
<cfquery name="variables.q" datasource="DSN">
SELECT
fileName
,contentType
,contentSubType
,binaryContent
FROM
TestUpload
WHERE
id = <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#URL.id#">
</cfquery>
<cfheader name="content-disposition" value="attachment;
filename=#variables.q.fileName#">
<cfcontent
type="#variables.q.contentType#/#variables.q.contentSubType#">
<cfoutput>#ToString(variables.q.binaryContent)#</cfoutput>
UploadForm.cfm
--------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>File Upload</title>
</head>
<body>
<form action="UploadAction.cfm" name="uploadForm" method="post"
enctype="multipart/form-data">
<input type="file" name="uploadFile">
<input type="submit" name="btnUpload" value="Upload File">
</form>
<cfquery name="variables.list" datasource="DSN">
SELECT
id
,fileName
,contentType
,contentSubType
,fileSize
FROM
TestUpload
ORDER BY
id
</cfquery>
<table border="1">
<cfoutput query="variables.list">
<tr>
<td>#variables.list.id#</td>
<td><a
href="GetFile.cfm?id=#variables.list.id#">#variables.list.fileName#</a><
/td>
<td>#variables.list.contentType#</td>
<td>#variables.list.contentSubType#</td>
<td
align="right">#NumberFormat(variables.list.fileSize)#</td>
</tr>
</cfoutput>
</table>
</body>
</html>
UploadAction.cfm
----------------
<cffile action="upload" fileField="form.uploadFile"
destination="#ExpandPath(".")#" nameConflict="MakeUnique">
<cfdump var="#cffile#">
<cffile action="readBinary"
file="#cffile.serverDirectory#\#cffile.serverFile#"
variable="variables.myFile">
<p>Length of variable: <cfoutput>#Len(variables.myFile)#</cfoutput></p>
<p>IsBinary? <cfoutput>#IsBinary(variables.myFile)#</cfoutput></p>
<cfquery name="insertFile" datasource="DSN">
INSERT INTO TestUpload
(
fileName
,contentType
,contentSubType
,binaryContent
,fileSize
)
VALUES
(
<cfqueryparam cfsqltype="CF_SQL_VARCHAR"
value="#cffile.serverFile#">
,<cfqueryparam cfsqltype="CF_SQL_VARCHAR"
value="#cffile.contentType#">
,<cfqueryparam cfsqltype="CF_SQL_VARCHAR"
value="#cffile.contentSubType#">
,<cfqueryparam cfsqltype="CF_SQL_BLOB"
value="#variables.myFile#">
,<cfqueryparam cfsqltype="CF_SQL_INTEGER"
value="#cffile.fileSize#">
)
</cfquery>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Find out how CFTicket can increase your company's customer support
efficiency by 100%
http://www.houseoffusion.com/banners/view.cfm?bannerid=49
Message: http://www.houseoffusion.com/lists.cfm/link=i:4:189566
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54