【发布时间】:2014-10-17 19:02:11
【问题描述】:
如果有用户可以预览他们选择的图片的图像,我正在进行员工注册。所以我的问题是,当我尝试预览所选图像时,fileupload 中的文件名不见了..
“save-14-copy.png”是图片的文件名。
所以下一步是预览图像..
所以你可以看到点击按钮预览后“save-14-copy.png”已经消失了。
如何保留文件名,以便在保存时不会出错?
设计代码:
<asp:Button runat="server" ID="Button1" Text="PREVIEW" CssClass="button-green" OnClick="Button1_Click"/>
Javascript:
<script type="text/javascript">
function ImagePreview(Imagepath) {
if (Imagepath.files && Imagepath.files[0]) {
var Filerdr = new FileReader();
Filerdr.onload = function (e) {
document.getElementById("<%= hfImage.ClientID %>").value = e.target.result;
}
Filerdr.readAsDataURL(Imagepath.files[0]);
}
}
</script>
代码隐藏:
protected void Button1_Click(object sender, EventArgs e)
{
EmpImage.ImageUrl = hfImage.Value;
}
【问题讨论】:
-
您的预览按钮看起来会导致回发并将文件提交到服务器,回发后您有一个新的重新加载页面,因此不再选择文件。除非您有其他代码将其连接到按钮的单击事件,否则我看不到您发布的 JS 将如何运行。
-
@BenRobinson..我明白了..我测试了它刷新页面但我的文本框中的文本仍然存在..我该如何解决这个问题?>
-
文本框使用视图状态来存储和加载值。如果是关于文件名,请使用文字或隐藏字段将文件名存储在视图状态中
-
@fubo.. 我试过了......但它给了我一个 base64 字符串而不是文件名或完整路径
标签: c# asp.net file-upload