Html 如何通过基于浏览器的S3上传验证文件内容?
我正在做一个项目,所有用户上传的图像都存储在S3上。为了节省带宽并避免上传通过我们的服务器,我们使用基于HTML表单的上传(请参阅)Html 如何通过基于浏览器的S3上传验证文件内容?,html,security,validation,file-upload,amazon-s3,Html,Security,Validation,File Upload,Amazon S3,我正在做一个项目,所有用户上传的图像都存储在S3上。为了节省带宽并避免上传通过我们的服务器,我们使用基于HTML表单的上传(请参阅) 验证上传内容的最佳做法是什么,以避免非图像/恶意文件偷偷进入我的帐户并从我的帐户中获得服务?有没有一种方法可以在S3中实现这一点?或者在上传文件后,我需要在我的服务器上验证这一点吗(这几乎不符合直接转到s3的目的)?如果您使用jquery文件上传并结合html5 s3表单,您可以使用类似于下面的代码来处理上传过程。上传文件之前,您可以在文件到达服务器之前,使用fi
验证上传内容的最佳做法是什么,以避免非图像/恶意文件偷偷进入我的帐户并从我的帐户中获得服务?有没有一种方法可以在S3中实现这一点?或者在上传文件后,我需要在我的服务器上验证这一点吗(这几乎不符合直接转到s3的目的)?如果您使用jquery文件上传并结合html5 s3表单,您可以使用类似于下面的代码来处理上传过程。上传文件之前,您可以在文件到达服务器之前,使用
file.size<50000000
检查文件类型和大小
jQuery ->
$('#fileupload').fileupload
add: (e, data) ->
types = /(\.|\/)(gif|jpe?g|png)$/i
file = data.files[0]
if types.test(file.type) || types.test(file.name)
data.context = $(tmpl("template-upload", file))
$('#fileupload').append(data.context)
data.submit()
else
alert("#{file.name} is not a gif, jpeg, or png image file")
如果您将jquery文件上传与html5 s3表单结合使用,您可以使用类似于下面的代码来处理上传过程。上传文件之前,您可以在文件到达服务器之前,使用
file.size<50000000
检查文件类型和大小
jQuery ->
$('#fileupload').fileupload
add: (e, data) ->
types = /(\.|\/)(gif|jpe?g|png)$/i
file = data.files[0]
if types.test(file.type) || types.test(file.name)
data.context = $(tmpl("template-upload", file))
$('#fileupload').append(data.context)
data.submit()
else
alert("#{file.name} is not a gif, jpeg, or png image file")
我敢肯定,直接上传到S3的结果是,您无法运行任何代码来执行此类检查。不过,您可能想看看bucket策略。我很确定直接上传到S3的结果是,您无法运行任何代码来执行此类检查。不过,您可能想看看bucket策略。