【发布时间】:2013-07-24 21:01:13
【问题描述】:
流程是:
- 用户在客户端选择一张图片。
- 只有文件名、内容类型和大小被发送到服务器。 (例如“file.png”、“image/png”、“123123”)
- 响应是用于直接上传到 S3 的字段和策略。 (例如“key: xxx, “alc”: ...)
情况是,如果我将“file.pdf”的扩展名更改为“file.png”然后上传它,在上传到S3之前发送到服务器的数据是:
- “文件.png”
- “图片/png”
服务器说“ok”并返回 S3 字段以供上传。
但是发送的内容类型不是真正的内容类型。但是如何在服务器上验证呢?
谢谢!
例子:
测试 Redactorjs 服务器端代码 (https://github.com/dybskiy/redactor-js/blob/master/demo/scripts/image_upload.php) 它检查文件内容类型。但是尝试上传假图片(在这里测试:http://imperavi.com/redactor/),它不允许假图片。如我所愿!
但这怎么可能呢?查看请求参数:(它以图像/jpeg 形式发送,应该是有效的)
【问题讨论】:
-
希望这会有所帮助。 stackoverflow.com/questions/14768717/…
-
其实帮不了太多。我没有使用载波。不过谢谢!
-
所以您要直接上传到 S3?
-
是的。但在发送之前,我会进行 ajax 调用以获取要上传的策略。同样的 ajax 验证 params 内容类型。但它可能是假的......
标签: ruby-on-rails ruby file-upload amazon-s3