【发布时间】:2015-01-29 12:10:48
【问题描述】:
我想在保存之前预览使用 asp.net 中的文件上传控制上传的图像。
我尝试了使用 filereader 的代码,但在 IE9 中不起作用,ie9 不支持阅读器。
【问题讨论】:
-
无法在 IE9 中使用 FileReader。 T_T。类似问题:Preview an Image in Div before its uploaded using IE9
我想在保存之前预览使用 asp.net 中的文件上传控制上传的图像。
我尝试了使用 filereader 的代码,但在 IE9 中不起作用,ie9 不支持阅读器。
【问题讨论】:
试试这个例子
HTML
<form id="form1" runat="server">
<input type='file' id="inputFile" />
<img id="image_upload_preview" src="http://placehold.it/100x100" alt="your image" />
</form>
脚本
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#image_upload_preview').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
$("#inputFile").change(function () {
readURL(this);
});
这会对你有所帮助。
【讨论】:
如何在使用asp.net或jquery保存之前在文件上传控件中预览上传的图片?
这将一次以缩略图的形式预览多个文件
HTML
<input id="ImageMedias" multiple="multiple" name="ImageMedias" type="file"
accept=".jfif,.jpg,.jpeg,.png,.gif" class="custom-file-input" value="">
<div id="divImageMediaPreview"></div>
脚本
$("#ImageMedias").change(function () {
if (typeof (FileReader) != "undefined") {
var dvPreview = $("#divImageMediaPreview");
dvPreview.html("");
$($(this)[0].files).each(function () {
var file = $(this);
var reader = new FileReader();
reader.onload = function (e) {
var img = $("<img />");
img.attr("style", "width: 150px; height:100px; padding: 10px");
img.attr("src", e.target.result);
dvPreview.append(img);
}
reader.readAsDataURL(file[0]);
});
} else {
alert("This browser does not support HTML5 FileReader.");
}
});
我希望这会有所帮助。
【讨论】:
@Manoj 的例子在 IE 11 中工作,但不需要调用 change 函数:
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#image_upload_preview').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
有这段代码就够了。
【讨论】: