Asyncfileupload文件preVIEW不显示 [英] Asyncfileupload file preview doesn't show

查看:198
本文介绍了Asyncfileupload文件preVIEW不显示的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有在更新面板一个Ajax的异步文件上传控件。我的上传工作正常,但后上载完成,我需要看到我已上载的图像。 但它不工作,这里是我做了什么

 函数UploadComplete(发件人,参数){
        变种文件名= args.get_fileName();
        VAR的contentType = args.get_contentType();
        如果(contentType.indexOf(图像)== -1){
            的document.getElementById('<%= lblStatus.ClientID%>')的innerText =上传的文件必须是一个图片!+<跨度风格=颜色:红色;>中+ args.get_errorMessage()+&所述; /跨度>中;
            的document.getElementById('<%= AsyncFileUpload1.ClientID%>')text.style.backgroundColor =红。
        }
        其他 {
            VAR文本=+文件名+|+ args.get_length()+字节+上传成功与;
            的document.getElementById('<%= lblStatus.ClientID%>')。innerText属性=文本;
              $得到(imageView1)SRC =./~/+文件名。
        }
    }
 

天冬氨酸code:

 < ajaxToolkit:AsyncFileUpload ID =AsyncFileUpload1WIDTH =400像素=服务器
        OnClientUploadError =uploadError时
        OnClientUploadStarted =StartUpload
        OnClientUploadComplete =UploadComplete
        CompleteBackColor =石灰UploaderStyle =现代
        ErrorBackColor =红的ClientIDMode =自动识别
        ThrobberID =活动指示器
        UploadingBackColor =#66CCFF
            onuploadedcomplete =AsyncFileUpload1_UploadedComplete/>

 < ASP:标签ID =活动指示器=服务器风格=显示:无>
 < ASP:图像=服务器ID =IMG preVIEW的ImageUrl =〜/图片/ uploading.gif/>
        < / ASP:标签>
        < IMG =服务器ID =imageView1/>
 < ASP:标签ID =lblStatus=服务器风格=字体家庭:宋体;字体大小:小;>< / ASP:标签>
 

解决方案

您可以使用 OnUploadedComplete 事件来显示图像

 < ajaxToolkit:AsyncFileUpload ID =AsyncFileUpload1WIDTH =400像素=服务器OnUploadedComplete =ProcessUpload

保护无效ProcessUpload(对象发件人,AjaxControlToolkit.AsyncFileUploadEventArgs E)
{
字符串文件名=使用Server.Mappath(./)+image.jpg的;
AsyncFileUpload1.SaveAs(文件名);

ScriptManager.RegisterClientScriptBlock(AsyncFileUpload1,AsyncFileUpload1.GetType(),IMG,
    top.document.getElementById('imgUpload')的src =image.jpg的';,
    真正);
}
 

有关详细信息如何preVIEW来看看这个例子<一个href="http://www.mikeborozdin.com/post/AJAX-File-Upload-in-ASPNET-with-the-AsyncFileUpload-Control.aspx"相对=nofollow> AJAX文件上传的ASP.NET与AsyncFileUpload控制

I am having an Ajax Asynchronous file upload control in update panel. My upload works fine but after the upload is completed., I need to see the image I have uploaded. But it doesnt work here is what I have done

function UploadComplete(sender, args) {
        var filename = args.get_fileName();
        var contentType = args.get_contentType();
        if (contentType.indexOf('image') == -1) {
            document.getElementById('<%=lblStatus.ClientID%>').innerText = "Uploaded file must be an Image!"+ "<span style='color:red;'>" + args.get_errorMessage() + "</span>";
            document.getElementById('<%=AsyncFileUpload1.ClientID%>').text.style.backgroundColor = "Red";
        }
        else {
            var text = "" + filename + "      |      " + args.get_length() + " bytes"+"Uploaded Succesfully";
            document.getElementById('<%=lblStatus.ClientID%>').innerText = text;
              $get("imageView1").src = "./~/" + filename;
        }
    }

AspCode:

<ajaxToolkit:AsyncFileUpload ID="AsyncFileUpload1" Width="400px" runat="server"    
        OnClientUploadError="uploadError"    
        OnClientUploadStarted="StartUpload"  
        OnClientUploadComplete="UploadComplete"  
        CompleteBackColor="Lime" UploaderStyle="Modern"    
        ErrorBackColor="Red" ClientIDMode="AutoID"    
        ThrobberID="Throbber"    
        UploadingBackColor="#66CCFF" 
            onuploadedcomplete="AsyncFileUpload1_UploadedComplete" /> 

 <asp:Label ID="Throbber" runat="server" Style="display: none">
 <asp:Image runat="server" ID="imgPreview" ImageUrl="~/Images/uploading.gif" />
        </asp:Label>
        <img runat="server" id="imageView1"/>
 <asp:Label ID="lblStatus" runat="server" Style="font-family: Arial; font-size: small;"></asp:Label>

解决方案

You can use OnUploadedComplete event to display the image

<ajaxToolkit:AsyncFileUpload ID="AsyncFileUpload1" Width="400px" runat="server" OnUploadedComplete="ProcessUpload"

protected void ProcessUpload(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e)
{
string fileName = Server.MapPath("./") + "image.jpg";
AsyncFileUpload1.SaveAs(fileName);

ScriptManager.RegisterClientScriptBlock(AsyncFileUpload1, AsyncFileUpload1.GetType(), "img",
    "top.document.getElementById('imgUpload').src='image.jpg';", 
    true);
}

For Details how to preview take a look at this example AJAX File Upload in ASP.NET with the AsyncFileUpload Control

这篇关于Asyncfileupload文件preVIEW不显示的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆