【问题标题】:Large File upload issue (working in local but not working on server)大文件上传问题(在本地工作但在服务器上不工作)
【发布时间】:2021-09-15 09:42:35
【问题描述】:

我有一个基于 Django 的应用程序,它具有上传文件的功能。我们曾经在 azure Web 应用程序中部署相同的内容。 对于小文件(我尝试过的最大文件大小为 20 MB)在本地和服务器上都可以使用。但如果它是一个大文件(用 495 和 990 MB 测试),它可以在本地环境中工作。但是一旦部署到天蓝色,它就不起作用了。一段时间后,它会抛出 504 网关超时。

现在我正在阅读不同的文章,关于大文件处理的问题。在每篇文章/帖子中,似乎我们都必须实现文件分块机制。但是我不明白为什么它在本地工作以及为什么一旦部署在服务器上就无法工作。

是否需要在 Django 或 HTML 中更改任何设置才能实现?

【问题讨论】:

标签: html django azure web-applications azure-web-app-service


【解决方案1】:

谢谢snowman729。发布您的建议作为答案,以帮助其他社区成员。

默认情况下,如果上传的文件数据小于 2.5MB,Django 会将其放入内存中。任何更大的内容都将写入服务器的/tmp 目录,然后在传输完成时复制过来。 Django的很多文件上传设置都可以自定义,详情见the documentation

在我们考虑任何技术限制之前,使用浏览器上传如此大的文件会给用户带来非常糟糕的体验。您也可能在服务器上遇到问题。除了每个线程处理流数据需要很长时间之外,您还有时间让系统将结果文件从/tmp 复制到正确的位置。

参考是here

【讨论】:

    猜你喜欢
    • 2013-04-23
    • 1970-01-01
    • 2016-02-21
    • 1970-01-01
    • 1970-01-01
    • 2017-02-22
    • 2017-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多