Coldfusion使用GetHttpRequestData来存储和处理文件
我有一个JQUERY文件上传插件,允许用户将文件上传到Coldfusion服务器。插件向服务器提交文件的方式要求我对文件内容使用GetHttpRequestData()。以下是我迄今为止在处理文件数据方面的经验:Coldfusion使用GetHttpRequestData来存储和处理文件,coldfusion,xmlhttprequest,cffile,cfimage,Coldfusion,Xmlhttprequest,Cffile,Cfimage,我有一个JQUERY文件上传插件,允许用户将文件上传到Coldfusion服务器。插件向服务器提交文件的方式要求我对文件内容使用GetHttpRequestData()。以下是我迄今为止在处理文件数据方面的经验: <cfparam name="URL.qqfile" type="string"> <cfset x = GetHttpRequestData()> <cffile action="write" output="#x.content#" file="c:\
<cfparam name="URL.qqfile" type="string">
<cfset x = GetHttpRequestData()>
<cffile action="write" output="#x.content#" file="c:\temp\#URL.qqfile#">
这很有效,这很好,但我似乎不能把它带到下一步
接下来我想做的是:
A.确定文件的扩展名。
B.如果它是我的应用程序定义的可接受的ext(JPG、PNG、PDF、DOC、DOCX等),请将其上载到服务器上的正确目录。然后删除上面的临时文件
C.如果上传的文件是图像,则使用CFIMAGE制作缩略图
对于GetHttpRequestData问题,如何通过步骤A-C实现上述步骤
谢谢一些提示:
- 通过
查看
的结果结构GetHttpRequestData()
- 通过访问此结构拉出必要的标头。内容类型标题通常包含您想知道的内容。您可以使用(
,ListLen()
,ListFirst()
,ListLast()
)和适当的分隔符字符)轻松解析字符串ListRest()
- 始终使用
防止丢失结构部件。永远不要想当然地认为这个结构中“典型”的东西StructKeyExists()
- 不要盲目信任文件扩展名或内容类型头。同时查看上传文件的前几个字节,并将它们与白名单进行比较,以确认文件类型
- 看看
- 或者,评估上传的数据是否不会阻塞服务器,或者以另一种适合您的方式强制执行限制
- 通读
的文档。用它来制作缩略图不会那么难
- 通过
查看
的结果结构GetHttpRequestData()
- 通过访问此结构拉出必要的标头。内容类型标题通常包含您想知道的内容。您可以使用(
,ListLen()
,ListFirst()
,ListLast()
)和适当的分隔符字符)轻松解析字符串ListRest()
- 始终使用
防止丢失结构部件。永远不要想当然地认为这个结构中“典型”的东西StructKeyExists()
- 不要盲目信任文件扩展名或内容类型头。同时查看上传文件的前几个字节,并将它们与白名单进行比较,以确认文件类型
- 看看
- 或者,评估上传的数据是否不会阻塞服务器,或者以另一种适合您的方式强制执行限制
- 通读
的文档。用它来制作缩略图不会那么难