【发布时间】:2017-02-18 12:32:59
【问题描述】:
我只想详细说明这个问题:How does HTTP file upload work?。这是问题的形式:
<form enctype="multipart/form-data" action="http://localhost:3000/upload?upload_progress_id=12344" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
Choose a file to upload: <input name="uploadedfile" type="file" /><br />
<input type="submit" value="Upload File" />
</form>
当文件非常大(即 10 GB)时会发生什么?浏览器是否将所有数据放入 1 个请求中,然后将其发送到服务器? 当浏览器只有 2 GB 的 RAM 时,它如何读取文件并构建请求?
假设文件是 CSV。假设服务器的 RAM 和磁盘空间很小。有没有办法将文件流式传输到服务器,以便服务器可以解析每一行而不是将整个文件保存在其 RAM 或磁盘中?
非常感谢详细的解释(HTTP、TCP 等)
【问题讨论】:
标签: http file-upload tcp stream large-files