0

是否可以上传文件的特定部分而不是整个文件?说,我只想上传文件的前 100 个字节,或者文件的其余部分给定偏移 100 个字节?

4

3 回答 3

2

在更现代的浏览器中,具有正确的权限,是的。您需要浏览器支持文件流读取。教程在这里:http ://www.html5rocks.com/en/tutorials/file/dndfiles/

打开文件,找到你想要的块和通过 AJAX 的 POST(例如使用 jQuery)。

您可能会发现以块的形式同步上传并将服务器端拼凑在一起(例如使用会话)更容易 - 这样您就可以就上传进度提供反馈。

不确定旧浏览器的方法,或者那些被用户阻止的方法 - 所以你可能最好上传整个文件(使用 FILE 帖子)并删除你需要的服务器端的位。更多上传,但更好地支持每个人。


编辑 - 其他人刚刚发布了一个关于此的问题:https ://github.com/blueimp/jQuery-File-Upload - 它似乎本身并不支持它,但它也可以通过一些摆弄来做你想要的?不过,您仍然需要处理回退。

于 2012-06-21T04:33:22.027 回答
1

对的,这是可能的。您可以将 javascript FileApiBlobApi一起使用来上传文件的任何部分。请注意,这是 HTML5 功能。

如果您想研究此功能,可以查看jQuery File Upload Plugin

于 2012-06-21T04:30:19.100 回答
0

您可以使用文件api的切片方法来获取半文件。

var midpt=Math.round(file.size/2);
var halfFile=file.slice(0,midpt); //specify start and end positions
于 2012-08-06T11:01:17.100 回答