2017-05-24 22 views
1

我做了一个ListView并创建了一个名为lnkDownloadLinkButton以下载图像。我的代码在localhost上正常工作,但在服务器上显示错误。“在'/'应用程序中的服务器错误。找不到路径的一部分”在ASP .NET C#

的源代码

<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> 

代码隐藏

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

     } 

此代码工作完全在本地主机上。但是在服务器上它显示以下错误

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

做文件路径你的文件在\ Inetpub \ vhosts \ basiyan.co.in \ basiyan.com \ Admin \ ImagesUploads \ Admin 16-05-2017 \ 1 \ Image 10 X 10 \隐藏字段中的imageURL值是什么? –

+0

您是否验证过该字符串是否正确,因此ImageUrl中没有隐藏字符? 是否要下载该图像到客户端?或者你想从客户端上传图片吗? 它看起来像你想下载的图片,我只是要求确定。 你从哪里得到ImageURL?它可能是客户端路径的混合,被发送到服务器端的MapPath。这不会自然发挥作用。 你已经使用了哪些调试方法? –

+0

@Ankesh库马尔:是的,文件存在于给定的URL在服务器上。其次, – Piyush

回答

0

检查文件的路径

地方所需要的文件中发布

试图让动态的,而不是将其存储在一个隐藏字段

相关问题