相关疑难解决方法(0)

播放2.x:使用Iteratees上传活动文件

我将从问题开始:如何使用Scala API Iteratee将文件上传到云存储(在我的情况下是Azure Blob存储,但我认为它现在不是最重要的)

背景:

我需要将输入分块为大约1 MB的块,用于存储大型媒体文件(300 MB +)作为Azure BlockBlobs.不幸的是,我的Scala知识仍然很差(我的项目是基于Java的,其中Scala的唯一用途是上传控制器).

我尝试使用这段代码:为什么调用错误或在BodyParser的Iteratee中完成请求在Play Framework 2.0中挂起?(作为Input Iteratee) - 它工作得很好,但Element我可以使用的每个大小为8192字节,因此它太小,无法向云端发送一百兆字节的文件.

我必须说这对我来说是一种全新的方法,而且很可能是我误解了一些东西(不想告诉我,我误解了一切;>)

我会感谢任何提示或链接,这将有助于我这个主题.如果有任何相似用途的样本,那么对我来说这是最好的选择.

scala file-upload azure-storage iterate playframework-2.0

28
推荐指数
1
解决办法
5556
查看次数

处理多个并发大型上传

我在Laravel中创建了一个API,允许用户上传包含图像的zip存档.

上传档案后,会将其发送至S3,然后由另一项服务进行处理以进行处理.

我发现,使用更大的档案,PHP会不断达到内存限制.我知道我可以提高限制,但感觉就像一个滑坡,特别是当我想象多个用户上传大文件时.

我目前的解决方案是完全放弃我的服务器并允许客户端直接上传到S3.但这种感觉非常不安全,容易受到垃圾邮件/ DDOS的攻击.

我想我真正希望的是讨论如何优雅地处理这个问题.

有没有更适合这种处理/并发的语言?我可以很容易地将上传过程产生于其他东西.

我关于S3的问题是否没有根据?我知道需要签名的请求,但生成的令牌是可重用的,因此它们是可利用的.

在线资源谈论NGINX是一个更好的解决方案,因为它有一个上传模块可以直接将上传内容写入文件,因为apache似乎试图在内存中做很多事情(不是100%肯定这一点).

如果我诚实的话,我对整个PHP上传过程都不太清楚.请求是否直接存储在内存中?即10个50mb的上传会导致我的500mb RAM的内存限制异常

php file-upload nginx amazon-s3 laravel

9
推荐指数
1
解决办法
761
查看次数