Обновите элемент управления изображением, как только файл будет выбран в элементе управления загрузкой файлов в ASP.NET. - PullRequest
0 голосов
/ 05 июня 2011

У меня есть элемент управления изображением и контроль загрузки файлов в форме .NET 2.0 (VS.NET 2008). Как только пользователь выбирает файл изображения в элементе управления загрузкой файлов, я хочу, чтобы изображение отображалось в элементе управления изображением формы. Каков был бы способ сделать это?

(Кажется, поддерживается только событие загрузки файла - OnChange, и я не знаю достаточно javascript для обновления Image1.URL на основе содержимого FileUpload).

Спасибо, Чак.

Ответы [ 3 ]

2 голосов
/ 05 июня 2011

Вам нужно загрузить Asynchronously, и вы можете попробовать AJAX AsyncFileUpload, и это то, что вы ищете ... http://asp.net -informations.com / Ajax / Ajax-AsyncFileUpload.htm

0 голосов
/ 05 июня 2011

Вы ищете что-то вроде предварительного просмотра? Вы можете показать изображение пользователю только после того, как файл был загружен. Я почти уверен, что пользователь должен активно это делать (в противном случае вы можете попытаться прочитать всю файловую систему из браузера)

0 голосов
/ 05 июня 2011

Я думаю, что это хороший пример:

http://www.codeproject.com/KB/ajax/AJAXUpload.aspx

это тоже хорошая отправная точка:

http://www.eggheadcafe.com/community/aspnet/2/10204276/how-to-display-image-when-upload-image.aspx

или здесь:

http://www.eggheadcafe.com/community/aspnet/2/10236947/image-upload-and-display.aspx

обновлен

  protected void Button4_Click(object sender, EventArgs e)
    {
        string strExtn;
        string strpostedfile;

        strpostedfile = fileuploading.PostedFile.FileName;
        strExtn = System.IO.Path.GetExtension(strpostedfile);
        strExtn = strExtn.ToLower();

        string strEx = Path.GetExtension(fileuploading.PostedFile.FileName).ToLower();
        String filename = Path.GetFileName(fileuploading.FileName);
        filename = filename.Remove(filename.Length - strEx.Length);

        fileuploading.SaveAs(Server.MapPath("~/Photos/") + filename);
        uploadImage.ImageUrl = "~/Photos/" + filename;

    }

Страница:

  <asp:FileUpload ID="fileuploading" runat="server" />
<asp:Button ID="Button4" runat="server" onclick="Button4_Click" Text="Button" />
<br />
<asp:Image ID="uploadImage" runat="server" />
...