处理Web服务器上载的文件而不先在本地存储?

Him*_*u97 9 php apache file-upload node.js dropzone.js

我试图在websever上实时处理用户上传的文件,但似乎,APACHE只在上传完整文件后调用PHP.

当我使用CURL上传文件,然后设置

转移编码:"Chunked"

我有一些成功,但不能通过浏览器做同样的事情.

  • 我使用Dropzone.js但是当我试图设置相同的标题时,它表示Transfer -Encoding是一个不安全的标题,因此没有设置它.

这个答案解释了那里的问题. 无法设置Transfer-Encoding:"从浏览器中分块"

在一个Nutshell问题中,当用户将文件上传到web服务器时,我希望webserver在第一个字节可用时立即开始处理它.通过过程我的意思是,将它PIPING到命名管道.

不要先将500mb上传到服务器,然后开始处理它.

但是使用当前的Webserver(APACHE-PHP),我似乎无法完成它.

有人可以解释,使用什么技术堆栈或变通方法,以便我可以通过浏览器上传大文件并开始处理它,只要第一个字节可用.

Kar*_*ory 2

可以使用 NodeJS/Multiparty 来做到这一点。这里有一个直接上传到 Amazon S3 的示例。是将内容类型设置为 的表单multipart/form-data。这形状零件加工的功能。part参数的类型为ReadableStream,这将允许使用事件对输入进行按块处理data

有关 Node js 中可读流的更多信息请参见此处