Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Asyncfileupload文件预览不';不显示_C#_.net_Asp.net_Ajax_File Upload - Fatal编程技术网

C# Asyncfileupload文件预览不';不显示

C# Asyncfileupload文件预览不';不显示,c#,.net,asp.net,ajax,file-upload,C#,.net,Asp.net,Ajax,File Upload,我在更新面板中有一个Ajax异步文件上载控件。我的上传工作正常,但上传完成后,我需要看到我上传的图像。 但这不起作用,这就是我所做的 function UploadComplete(sender, args) { var filename = args.get_fileName(); var contentType = args.get_contentType(); if (contentType.indexOf('image') == -1) {

我在更新面板中有一个Ajax异步文件上载控件。我的上传工作正常,但上传完成后,我需要看到我上传的图像。 但这不起作用,这就是我所做的

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;
        }
    }
函数上传完成(发送方,参数){
var filename=args.get_filename();
var contentType=args.get_contentType();
if(contentType.indexOf('image')=-1){
document.getElementById(“”).innerText=“上传的文件必须是图像!”+“”+args.get_errorMessage()+”;
document.getElementById(“”).text.style.backgroundColor=“红色”;
}
否则{
var text=”“+filename+“|”+args.get_length()+“bytes”+“上传成功”;
document.getElementById(“”).innerText=text;
$get(“imageView1”).src=“../~/”+文件名;
}
}
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>

我认为“~”不能用于HTML控件。尝试将路径转换为实际路径并设置图像src。

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

<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);
}

已经编辑了问题,请看一看嗨,但是如果你看到我的代码,我已经有一个正在完成的事件,这正是我在代码背后所做的,但是我仍然不知道为什么它不起作用