我正在处理将通过nodejs发送文件的上传文件组件,但我的文件大小有问题,因为如果文件大于几kb我收到此错误:
Error: request entity too large (from nodejs)
[HTTP/1.1 413 Payload Too Large 7ms] (on browser console).
使用angular在前端创建上传组件,我需要在前端设置解决方案来设置最小和最大文件大小。
答案 0 :(得分:0)
您可以使用指令获取文件大小
app.directive('checkFileSize', function() {
return {
link: function(scope, elem, attr, ctrl) {
function bindEvent(element, type, handler) {
if (element.addEventListener) {
element.addEventListener(type, handler, false);
} else {
element.attachEvent('on' + type, handler);
}
}
bindEvent(elem[0], 'change', function() {
alert('File size:' + this.files[0].size);
});
}
}
});
另一种方法是在发送到服务器时获取文件大小,如
uploader = new FileUploader();
uploader.filters.push({
'name': 'enforceMaxFileSize',
'fn': function (item) {
return item.size <= 10485760; // 10 MiB to bytes
}
});
更新了小提琴 Fiddle