Coldfusion使用GetHttpRequestData来存储和处理文件
我有一个JQUERY文件上传插件,它允许用户将文件上传到Coldfusion服务器。该插件将文件提交给服务器的方式要求我使用GetHttpRequestData()作为文件内容。这里是我迄今为止在处理文件数据方面:Coldfusion使用GetHttpRequestData来存储和处理文件
<cfparam name="URL.qqfile" type="string">
<cfset x = GetHttpRequestData()>
<cffile action="write" output="#x.content#" file="c: emp#URL.qqfile#">
这个工作,这是很好的,但我似乎不能借此下一步。
接下来我想要做的是: A.确定文件的扩展名。 B.如果它是由我的应用程序(JPG,PNG,PDF,DOC,DOCX等)定义的可接受分机,请将其上传到服务器上的正确目录。然后删除以上临时文件 C.如果上传的文件是图片,请使用CFIMAGE创建缩略图
如何通过GetHttpRequestData问题通过步骤A-C获取上述内容?
感谢
WozPoz
从你的其他线程看,这个行为似乎是依赖于浏览器的。所以你可能想要使用像
这样的测试可悲的是,这仍然不起作用。有任何想法吗?我很想看到一个页面,显示如何处理来自AJAX上传插件的GetHttpRequestData() –
为什么你必须使用GetHttpRequestData()?我使用jQuery将图像上传到CF服务器端并使用cffile。 –
回答
一些提示:
- 必须通过
<cfdump>
一起来看看GetHttpRequestData()
结果结构。 - 通过访问此结构拉出必要的标题。 Content-Type标题通常包含你想知道的东西。您可以使用List functions(即
ListLen()
,ListFirst()
,ListLast()
,ListRest()
以及适当的分隔符字符)轻松解析字符串。 - 总是使用
StructKeyExists()
来防止丢失结构部分。永远不要理所当然地认为“典型”似乎在这个结构中的任何东西。 - 请勿盲目信任文件扩展名或Content-Type标头。同时查看上传文件的前几个字节,并将它们与白名单进行比较以确认文件类型。
- 看一看
<cffile action="upload">
。 - 可选地,perfom a drive space test用于评估上传的数据是否不会堵塞服务器,或以另一种适合您的方式执行限制。
- 通读
<cfimage>
的文档。它不能是,很难用它来制作缩略图。
Tomalak
Coldfusion使用GetHttpRequestData来存储和处理文件
相关文章
- 《分布式技术原理与算法解析》学习笔记Day11
- 5个前端练手项目(html css js canvas)
- 如何解决Vue3没有代码提示问题?
- 小程序中使用echarts(硬货,全网最详细教程!)
- 如何理解spring框架中的依赖注入和控制反转?
- 《分布式技术原理与算法解析》学习笔记Day10
- 1.redis面试
- day08-SpringMVC底层机制简单实现-04
- Sentinel入门到实操 (限流熔断降级)
- Vue3详细教程
- vue-quill-editor富文本编辑器使用步骤
- RecursionError: maximum recursion depth exceeded
- 解决Chrome 浏览器ERR_INSUFFICIENT_RESOURCES过程
- 《分布式技术原理与算法解析》学习笔记Day09
- 【vue2小知识】实现directive自定义指令的封装与全局注册
- 分布式专题 - Dubbo + Zookeeper
- 第53章 短信验证服务和登录的前端定义实现
- 学习笔记——尚好房:Apache Dubbo
- Vben Admin 的介绍以及使用
- 《分布式技术原理与算法解析》学习笔记Day08