当用户通过Image
控件选择图像文件时,我希望在FileUpload
控件中显示图像,但我不希望图像保存在我的服务器上。
答案 0 :(得分:1)
你能做的最好的事情就是将它上传到内存中,而不保存它会使用.ashx或其他东西显示它。
修改
在HTML5之前,您可能已经通过使用javascript函数来获取上传文件的目录,然后将IMG src属性设置为该文件路径。然后,图像将从自己的硬盘加载预览。在符合HTML5的浏览器中,该文件路径是隐藏的,因此您无法在JavaScript中使用它。这种情况发生在IE8,Chrome等等。
这是另一种混乱的方式。
首先,创建一个javascript函数,它将处理FileUpload控件onchange事件。当此事件触发时,它将回发整个表单。
function uploadFile() {
var value = $("#<%=fuTest.ClientID %>").val();
if (value != '') {
$("#form1").submit();
}
}
以下是上传控件:
<asp:FileUpload runat="server" ID="fuTest" onchange="uploadFile()" />
现在,当有人选择文件时,表单会回发,然后您可以将图像放入服务器的内存中,并在回发完成后显示它。
答案 1 :(得分:0)
无法完成 - 要显示“预览”,您必须至少暂时将图像存储在服务器上的某个位置,以便在页面上生成并呈现<img>
标记。
答案 2 :(得分:0)
您可以这样做,但您需要使用具有可分配Bitmap属性的自定义imageControl。这是一篇描述一篇的文章: