我发现了一个名为RubaXa / jquery.fileapi
的有用工具,它可以对文件进行切片并创建 blob。但是在文档中缺少关于如何在服务器上处理上传的部分的信息。页面上的示例是指a url: './ctrl.php'
,但您在开发人员页面上看不到它的内容。到目前为止,我使用了这个(如下所示)客户端脚本并且没有错误。一个文件被切片,我的萤火虫控制台中出现了几个发布请求。所以它似乎工作。但是如何在服务器上处理接收到的 PHP 文件部分呢?
导入脚本:
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js"></script>
<script>
window.FileAPI = {
debug: false // debug mode
, staticPath: 'jquery.fileapi-master/FileAPI/' // path to *.swf
};
</script>
<script src="jquery.fileapi-master/FileAPI/FileAPI.min.js"></script>
<script src="jquery.fileapi-master/jquery.fileapi.min.js"></script>
文件上传器的启动和设置:
jQuery(function ($){
$('#uploader').fileapi({
url: 'stash.php',
autoUpload: true,
accept: 'video/*',
multiple: false, //only single file upload
chunkSize: .5 * FileAPI.MB //filesize of the blobs/chunks
});
});
HTML 文件上传“表单”:
<div id="uploader">
<div class="js-fileapi-wrapper">
<input type="file" name="files[]" />
</div>
<div data-fileapi="active.show" class="progress">
<div data-fileapi="progress" class="progress__bar"></div>
</div>
</div>