我正在研究一种将图像上传到Heroku仓库的方法,其中我有一个python应用程序,它接收图像,将它们分类并将结果保存在.csv文件中。 可以通过使用Javascript和HTML的网站选择图像进行上传。
我现在的问题是,我如何才能最好地从网站上传到Heroku App?
请记住,前端当前正在我的本地计算机上运行,并且我想使用Heroku作为后端来接收图像或字符串。
我是否需要与单独的Web服务器建立SSH连接?我需要使用Amazon S3吗?
不寻找问题本身的完整解决方案,但如果有人能指出我正确的方向,我将需要解决我的问题,这将是很好的。
答案 0 :(得分:1)
你可以将图像上传到Heroku但是有两个问题
Heroku路由器在30秒后超时请求,这意味着如果您的用户连接不稳定和/或文件太大,则上传将失败
Heroku的临时文件系统意味着您必须在Web进程中处理此文件,因为工作程序在不同的dynos上运行,并且无法访问您的Web dyno文件系统。所以这是30秒超时的另一次打击。
您最好的选择是让您的用户从浏览器直接将文件上传到s3。我们对filestack.com js小部件有很好的体验,但还有其他方法。
然后,您的页面将使用此新上传的文件的s3网址ping您的后端。后端将使用Heroku worker来启动异步作业来处理它。
这可以很好地解决所有超时问题并阻止您的网络动态。