2017-05-24 7 views
1

Ich habe eine ListView erstellt und eine LinkButton innerhalb namens erstellt, um ein Bild herunterzuladen. Mein Code funktioniert gut auf localhost, aber auf dem Server wird ein Fehler angezeigt."Server Fehler in '/' Anwendung. Konnte einen Teil des Pfades nicht finden" in ASP.NET C#

Quellcode:

<asp:ListView ID="ListViewSizePrice" OnItemCommand="ListViewSizePrice_ItemCommand" runat="server"> 
    <ItemTemplate> 
     <tr> 
      <td><%#Eval("Size") %></td> 

      <td><asp:RadioButton ID="RadioButtonRawYes" GroupName="RawFile" ClientIDMode="Static" CssClass="form-control" Checked="true" Text="&nbsp;&nbsp;&nbsp;Yes" runat="server" Width="70px" /> 
       <asp:RadioButton ID="RadioButtonRawNo" GroupName="RawFile" ClientIDMode="Static" CssClass="form-control" Checked="false" Text="&nbsp;&nbsp;&nbsp;No" runat="server" Width="70px" /> 
      </td> 

      <td><%#Eval("ImageFormat") %></td> 
      <td> 
      <asp:HiddenField ID="HiddenFieldImageUrl" Value='<%# Eval("ImageURL") %>' runat="server" Visible="false" /> 

      <asp:LinkButton ID="lnkDownload" Text = "Download" CommandName="imageDownload" runat="server"></asp:LinkButton></td> 

       </td> 
     </tr> 
    </ItemTemplate> 
</asp:ListView> 

Code-Behind

protected void ListViewSizePrice_ItemCommand(object 
sender,ListViewCommandEventArgs e) 
     { 
      if (e.CommandName == "imageDownload") 
      { 
       string ImageUrl = ((HiddenField)e.Item.FindControl("HiddenFieldImageUrl")).Value; 
       string FileExtension = Path.GetExtension(ImageUrl); 
       if (FileExtension == ".rar" || FileExtension == ".RAR") 
       { 
        Response.ContentType = "application/rar"; 
        Response.AppendHeader("Content-Disposition", "attachment; filename=" + Path.GetFileName(ImageUrl)); 
        string absImageUrl = Server.MapPath("Admin/" + ImageUrl); 
        //absImageUrl.Replace("\\", "\\"); 
        Response.TransmitFile(absImageUrl); 
        Response.End(); 
       } 
       else 
       { 
        Response.Redirect(Request.Url.AbsoluteUri); 
       } 
      } 

     } 

Dieser Code funktioniert perfekt auf localhost. Aber auf dem Server zeigt es Fehler folgende

Server Error in '/' Application. 

Could not find a part of the path 'C:\Inetpub\vhosts\basiyan.co.in\basiyan.com\Admin\ImagesUploads\Admin 16-05-2017\1\Image 10 X 10\10 X 10.rar'. 
+0

Do Sie haben Datei unter \ Inetpub \ vhosts \ basiyan.co.in \ basiyan.com \ Admin \ ImagesUploads \ Admin 16-05-2017 \ 1 \ Image 10 X 10 \ Was ist der imageURL Wert in versteckten Feld? –

+0

Haben Sie bestätigt, dass die Zeichenfolge korrekt ist, sodass im ImageUrl keine versteckten Zeichen vorhanden sind? Möchten Sie das Bild auf den Client herunterladen? Oder möchten Sie das Bild vom Client hochladen? Es sieht so aus, als ob Sie das Bild herunterladen möchten, ich möchte nur sicher sein. Woher bekommen Sie die ImageURL? Es könnte eine Mischung aus clientseitigem Pfad sein, der an Serverseite MapPath gesendet wird. Das würde natürlich nicht funktionieren. Welche Debug-Methoden haben Sie bereits verwendet? –

+0

@Ankesh Kumar: Ja, Datei existiert auf dem Server bei gegebener URL. Zweitens, – Piyush

Antwort

0

überprüft Dateipfad

Ort die gewünschte Datei in Veröffentlichen

try Dateipfad zu bekommen dynamisch anstatt sie in einem versteckten Feld zu speichern

Verwandte Themen