2013-06-30 55 views
1

我試圖創建linkbutton到服務器中的路徑,但它不工作。
另外我試圖用LinkBut​​ton來做,但它仍然沒有工作。無法使用asp.net中的linkbutton從服務器下載文件C#

C#:

string path = "U:\\HR\\resume\\System\\" + Department + "\\" + ID + extFile; 

if (File.Exists(path)) 
{ 
    HyperLinkDownload.ID = ID.ToString(); 
    lbResumeExist.Text = "File Exists"; 
    HyperLinkDownload.Text = "download"; 
    HyperLinkDownload.NavigateUrl = ID + ext.ToString(); 
    LinkButton1.Text = "download"; 
    LinkButton1.PostBackUrl= path; 
} 
else 
{ 
    HyperLinkDownload.Visible = false; 
    lbResumeExist.Visible = false; 
    LinkButton1.Visible = false; 
} 

ASP:

<asp:HyperLink ID="HyperLinkDownload" runat="server"></asp:HyperLink> 
<br /><br /> 
<asp:LinkButton ID="LinkButton1" runat="server"></asp:LinkButton> 
<br /><br /> 

錯誤消息:

的資源不能被發現。

說明:HTTP 404.您正在查找的資源(或其某個依賴項)可能已被刪除,名稱已更改或暫時不可用。請檢查以下網址並確保它拼寫正確。

請求的URL:/51.doc

如果我改變字符串HyperLinkDownload到: 「HyperLinkDownload.NavigateUrl =路徑;」 超鏈接沒有響應點擊,當我點擊後,檢查元素我得到這個錯誤信息

HTTP錯誤400 - 錯誤的請求。

版本信息:ASP.NET開發服務器10.0.0.0

+0

調試代碼,並獲得分配給路徑變量的路徑,看看您是否能看過那部文件訪問(在運行命令中) – Kurubaran

+0

它在我看來像你會想要使用通用處理程序來提供該文件,並指出超鏈接? –

+0

嘗試更改文件路徑:// u/... –

回答

1

使用使用Server.Mappath( 「你的目標文件」),而不是手工編寫的路徑@「U:/ HR /恢復....喇嘛。 .bla ......」 ..

也試試這個代碼,如果下載仍然沒有工作..

// send the PDF document as a response to the browser for download 
System.Web.HttpResponse response = System.Web.HttpContext.Current.Response; 

response.ContentType = "application/pdf"; 
if (!displayOnBrowser) 
{ response.AddHeader("Content-Disposition", String.Format("attachment; filename=GettingStarted.pdf; size={0}", pdfBytes.Length.ToString())); 
} 
else 
{ response.AddHeader("Content-Disposition", String.Format("inline; filename=GettingStarted.pdf; size={0}", pdfBytes.Length.ToString())); 
} 
response.BinaryWrite(pdfBytes); 
// Note: it is important to end the response, otherwise the ASP.NET 
// web page will render its content to PDF document stream 
response.End(); 
相關問題