我对在FileUpload上丢失ASP.NET表单中的文件有问题。我正在制作一个包含一个表单的网站,其中一个pdf页面和一个图像应该由用户上传并预览,但是当他们选择一个标题文本,字体名称和上传下面的字体大小时,这些控件刷新我的页面,所有上传的文件都丢失了。我尝试在表单中添加enctype=“多重数据”,但是它没有工作。有人有线索吗?提前谢谢。
<script type="text/javascript">
function ShowImageBackPreview(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#<%=imagePreview.ClientID%>').prop('src', e.target.result)
.width(240)
.height(150);
};
reader.readAsDataURL(input.files[0]);
}
}
</script>
<asp:FileUpload ID="uploadImage" runat="server" CssClass="uploads" onchange="ShowImageBackPreview(this)" />
<asp:Image ID="imagePreview" Height="150px" Width="250px" runat="server" />
<asp:TextBox ID="txtName" runat="server" AutoPostBack="true" placeholder="Name"></asp:TextBox>
<asp:TextBox ID="txtSurname" runat="server" AutoPostBack="true" placeholder="Surname"></asp:TextBox>当我开始输入姓名和姓氏时,上传的显示图像消失了,文件路径也消失了,在每个输入的文本上它刷新页面。
发布于 2022-08-29 13:41:03
删除控件txtName和txtSurName的自动回退。
自动回发意味着当您更改这些控件中的值时,页面将回发,当您回发时,该文件将被加载,您的图像预览将丢失。
您需要在您的页面上的最后一个向上加载按钮,当点击将运行您的代码。然后,上传按钮可以抓取加载的文件。您不能像显示的那样对文本框控件进行自动备份,但是,不应该要求这些文本框控件具有autopostback=true。
所以,删除你的自动控制,你应该会没事的。
https://stackoverflow.com/questions/73526922
复制相似问题