使用FileUpload在Image控件中显示图像

时间:2011-02-23 20:23:21

标签: asp.net file-upload

当用户通过Image控件选择图像文件时,我希望在FileUpload控件中显示图像,但我不希望图像保存在我的服务器上。

3 个答案:

答案 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。这是一篇描述一篇的文章:

Egghead Cafe Article