【发布时间】:2016-02-16 13:23:08
【问题描述】:
当用户在使用 JQuery 注册时浏览图像时,我想在 div 中预览图像。
下面是子页面名称 SignUp.aspx
<asp:Content ID="Content2" ContentPlaceHolderID="phForChildPage" runat="server">
<asp:Table runat="server" HorizontalAlign="Center" BorderColor="Yellow" BorderStyle="Dotted" BorderWidth="2">
<asp:TableRow runat="server">
<asp:TableCell runat="server">
<asp:FileUpload runat="server" ID="fuUserPicture" CssClass="ui-corner-all" />
</asp:TableCell>
<asp:TableCell runat="server">
<div id="imageHolder"></div>
</asp:TableCell>
</asp:TableRow>
</asp:Table>
</asp:Content>
JavaScript 文件中的 JQuery 代码。
// for image preview
$(function () {
$("#phForChildPage_fuUserPicture").on('change', function () {
if (typeof (FileReader) != "undefined") {
var imageHolder = $("#phForChildPage_imageHolder");
imageHolder.empty();
//make new instance of file reader
var reader = new FileReader();
reader.onload = function (e) {
$("<img />", {
"src": e.target.result,
"class": "thumb-image",
"width": "200px",
"height": "200px"
}).appendTo(imageHolder);
}
imageHolder.show();
reader.readAsDataURL($(this)[0].files[0]);
}
else {
alert("This browser does not support File Reader");
}
})
});
我检查了我的 JQuery 工作。一切都好。只是图像不显示在 div 中。请帮忙。
【问题讨论】:
-
你检查过控制台中的 e.target.result 了吗?
-
是的,我在控制台上查看。没有错误。
-
我知道没有错误,但是您是否获得了图像源,因为您已在 src 键中分配了 e.target.result。
-
调试器是否进入函数
$("#phForChildPage_fuUserPicture").on('change'?您确定服务器将 iffuUserPicture呈现为phForChildPage_fuUserPicture吗?你能告诉我们这个asp.net代码的输出html吗? -
Banik,我不知道如何检查 e.target.result 中的内容,因为 VS 不调试 JavaScript 代码。我在警报中看到它显示如下数据:image/jpeg .... 和其他。我粘贴在那里,但它太长了。我只想在将数据保存到服务器之前预览图像。请帮忙
标签: javascript jquery html css filereader