我有一個在ASP.NET中開發的網站,其中包含指向50個不同PDF文件的鏈接。網站也具有身份驗證功能。現在,當用戶下載一個特定的文件時,我需要用用戶名和文件名填充數據庫。提示我如何實現這一點。 PS:我曾嘗試使用sessionvariable
和onclickevent
作爲pdf圖標,但對於> 50個pdf文件而言太亂了。asp.net網站文件下載歷史
1
A
回答
2
您必須創建一個下載處理程序。您可以循環訪問服務器上的物理文件,或者將它們編碼到某種數據庫中。
在該處理程序中,您將需要一些方法來記錄「單擊」功能。
注意:這不會導致取消下載。
標記
<asp:HyperLink id="hyperlink1" ... />
代碼背後
hyperlink1.NavigateUrl = "Downloader.ashx?file="+"filename";
處理
<%@ WebHandler Language="C#" Class="Downloader" %>
using System;
using System.Web;
public class Downloader : IHttpHandler {
public void ProcessRequest (HttpContext context) {
// create a file response
HttpResponse r = context.Response;
r.ContentType = // set the appropriate content type;
string file = context.Request.QueryString["file"];
// *****
// LOG THE REQUEST
// *****
// write out the file
r.WriteFile(...);
}
public bool IsReusable {
get {
return false;
}
}
}
0
我會創建一個httpHandler來獲取要下載的文件,這將使您能夠將文件的直接鏈接抽象化,賦予控件以安全的特定文件,並將單擊文件的人保存到數據庫,並使您可以將文件存儲到任何位置在文件系統中,即不使這些直接鏈接增加安全性)
+0
dammnit只是打我,我會一直如果SO沒有懷疑我不是一個人:( –
+1
所有的時間,我正忙着寫出一些示例代碼:( –
1
您可以創建一個http處理程序,用於請求所有文檔。
比如你乾脆把頁面上的鏈接將http://yoursite/pdf?name=MyFancyPDf
在處理程序,那麼你可以去和做任何處理neccessary爲PDF格式(包括日誌記錄),然後爲它服務到用戶
相關問題
- 1. 從ASP.NET MVC 2網站下載文件
- 2. 從webservice下載文件 - 在ASP.NET網站
- 3. Android下載歷史
- 4. 從網站下載文件
- 5. 從網站下載文件
- 6. Git克隆/下載歷史
- 7. 跟蹤網站歷史記錄?
- 8. 用戶瀏覽網站歷史數據
- 9. 在Windows Azure網站發佈歷史
- 10. 。啓動時未載入歷史文件
- 11. Cygwin Bash,加載歷史文件
- 12. 如何在ASP.NET中的網站上下載CSV文件
- 13. 如何從服務器下載文件,使用asp.net網站
- 14. 授予ASP.NET訪問權限以從Sharepoint網站下載文件
- 15. Asp.Net網站與「未知網絡錯誤」下載連接下載
- 16. ASP.NET MVC 3網站日曆
- 17. 從網站下載文件解析
- 18. 下載的所有文件在網站
- 19. 從網站下載音頻文件
- 20. 從網站下載CSV文件
- 21. 從網站下載文件PHP
- 22. 從網站下載臨時文件
- 23. 從多語言網站下載文件
- 24. 從網站自動下載XLS文件
- 25. SILVERLIGHT。如何從網站下載文件
- 26. 使用Python從網站下載文件
- 27. 從網站下載某個文件
- 28. 從Arduino網站下載強制文件
- 29. 圖書館從網站下載文件?
- 30. 登錄網站並下載文件?
提高對數據庫下載點擊和存儲按鈕事件哪個文件爲b eing已下載。 –
http://blog.donnfelker.com/2008/04/29/simple-download-counter-httphandler/ –
可能重複的[ASP.Net Count Download Clicks](http://stackoverflow.com/questions/2496583/ asp-net-count-download-clicks) –