【问题标题】:Django-storage - How to check file size prior to upload?Django-storage - 如何在上传前检查文件大小?
【发布时间】:2014-02-07 15:45:22
【问题描述】:

存储和 Django 1.6:

我想限制保存到s3 的文件大小。这样做的适当方法是什么? 我应该只在表单中进行自定义字段验证,还是在使用 Django-Storage 时有更好的方法来做到这一点?

【问题讨论】:

  • 阅读@NorbertSebők 的回答后,我还添加了 JavaScript 标记。

标签: javascript python django django-models


【解决方案1】:

验证需要将文件上传到服务器。 suggested way 是在您的 Web 服务器配置中设置限制。更好的解决方案是to check the file size in JS上传之前:

// fileInput is a HTMLInputElement: 
<input type="file" multiple id="myfileinput">
var fileInput = document.getElementById("myfileinput");

// files is a FileList object (simliar to NodeList)
var files = fileInput.files;

for (var i = 0; i < files.length; i++) {
  alert(files[i].name + " has a size of " + files[i].size + " Bytes");
}

【讨论】:

  • 如果我使用 django-storages 保存到 s3,我假设 Web 服务器配置不会做任何正确的事情?
  • @w,Web 服务器将返回错误响应 (413) 而不是为请求提供服务。 Django 代码甚至不会注意到请求失败。所以设置 LimitRequestBody 是一个提高安全性的好主意,但是 JS 检查是一个对用户更友好的解决方案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-19
  • 2019-04-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-28
  • 2021-07-19
  • 1970-01-01
相关资源
最近更新 更多