【发布时间】:2015-07-11 12:11:52
【问题描述】:
我使用 FileReader 使用 javascript 读取选定的文件。这是代码
HTML:
<img id="preview" ng-src="{{user_picture}}" ng-click="triggerUpload()" alt="" width="160" height="160" class="img-thumbnail" />
<input type="file" onchange="angular.element(this).scope().viewImage(this.files)" accept="image/jpg,image/jpeg,image/png" id="fileInput" name="filedata" />
脚本:
$scope.triggerUpload = function () {
show_image();
}
$scope.list = [];
$scope.viewImage = function (file) {
show_image(file);
}
function show_image(image) {
var fileuploader = angular.element("#fileInput");
fileuploader.on('click', function () {
if (image && image[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#preview').attr('src', e.target.result);
}
reader.readAsDataURL(this.files[0]);
}
})
fileuploader.trigger('click');
}
当我从上传对话框中选择一个文件时,这可以正常工作。但是,当我点击“取消”或在不选择任何文件的情况下退出上传程序时,会出现以下错误。
未捕获的类型错误:无法在“FileReader”上执行“readAsDataURL”: 参数 1 不是“Blob”类型。
如何解决这个问题??
【问题讨论】:
标签: javascript jquery