3
上传文件我想用角和FileReader Api
在JSON
上传文件。浏览器崩溃时角
的问题是,比600 - 700 KB
我的浏览器崩溃的文件。
对资源和请求时,据我可以看到出现问题时不将文件阅读器读取该文件,并进行编码,在base64
任何想法?
下面是代码:
function readFiles(files) {
var reader = new FileReader();
var data = [];
function readFile(index) {
if (index >= files.length) {
UploadFilesResource.create(JSON.stringify(data), function (successData) {
scope.attachments = successData.data;
scope.showUploadForm = false;
}, function (errorData) {
MessageSrv.setErrorMessage(errorData.error_message)
});
return;
}
var file = files[index];
reader.onload = function(e) {
data.push(prepareFile(file, e.target.result));
readFile(index + 1)
};
reader.readAsDataURL(file);
}
readFile(0);
}
这里是资源代码:
crmApp.lazy.factory('UploadFilesResource',
['CrmAppResource', 'CrmAppConfiguration',
function ($resource, CrmAppConfiguration) {
return $resource(
CrmAppConfiguration.apiUrl + 'upload/files/:id',{id:'@id'}
);
}
]);
如果它适用于较小的文件大小,则问题最可能发生在后端。你还可以发布后端代码吗? – Jagrut
如果问题出现在后端,为什么浏览器会崩溃?我认为问题是JSON.stringify –
目前没有后端实施。只有一个虚拟的休息端点仅用于测试。 至于后端是一个简单的Apache安装(默认配置)的PHP 5.5.9项目也使用ZF2。目前问题出现在当地环境。 – ibekiaris