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=" Yes" runat="server" Width="70px" />
<asp:RadioButton ID="RadioButtonRawNo" GroupName="RawFile" ClientIDMode="Static" CssClass="form-control" Checked="false" Text=" 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'.
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? –
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? –
@Ankesh Kumar: Ja, Datei existiert auf dem Server bei gegebener URL. Zweitens, – Piyush