我目前正在研究一种将图像上传到 Heroku 存储库的方法,我有一个 python 应用程序可以接收图像,对它们进行分类并将结果保存在 .csv 文件中。 可以选择图像通过使用 Javascript 和 HTML 的网站上传。
我现在的问题是,如何最好地实现从网站到 Heroku 应用程序的上传?
请记住,前端目前正在我的本地计算机上运行,并且我想使用 Heroku 作为后端来接收图像或字符串。
我需要通过 SSH 连接到单独的 Web 服务器吗?我需要使用 Amazon S3 吗?
我的问题本身并不是在寻找完整的解决方案,但如果有人能为我指明正确的方向,告诉我解决问题需要什么,那就太好了。
最佳答案
您可以将图像上传到 Heroku,但是这有两个问题
Heroku 路由器在 30 秒后超时请求,这意味着如果您的用户连接不稳定和/或文件很大,上传将失败
Heroku 的临时文件系统意味着您必须在您的 Web 进程中处理此文件,因为工作人员在不同的 dyno 上运行并且无法访问您的 Web dyno 文件系统。所以这是 30 秒超时时的另一次罢工。
您最好的选择是让您的用户将他们的文件从他们的浏览器直接上传到 s3。我们对 filestack.com js 小部件有很好的体验,但还有其他方法。
然后您的页面将使用这个新上传文件的 s3 url 对您的后端执行 ping 操作。后端将使用 Heroku worker 启动一个异步作业来处理它。
这巧妙地解决了所有超时和阻塞网络测功机的问题。
关于javascript - 图片上传到Heroku App,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48420357/