在我的網絡服務器上,我有一個名爲03.mp4
的視頻文件。
我有一個頁面(videoserver.aspx)使用下面的代碼直接或間接下載網絡文件的區別
Response.ContentType = "application/octet-stream";
Response.AppendHeader("Content-Disposition", "attachment; filename=video.mp4");
Response.TransmitFile(Server.MapPath("03.mp4"));
Response.End();
擔任該文件請告訴我這2個電話有什麼區別?
1:http://localhost/media/03.mp4
2:http://localhost/media/videoserver.aspx?q=03
當我指出這些直接的網址在瀏覽器中,它會提示我一個保存對話框在這兩種情況下。
我有另一個網頁有一個SWFObject。它消耗視頻作爲輸入。好。當我提供URL 1時,它會加載視頻。
當我提供URL 2時,它不會加載視頻。
爲什麼這種差異?我更喜歡URL 2,因爲您可以根據查詢字符串動態更改提供給消費者的視頻。
我很抱歉,我不明白你是如何回答我的問題的。我嘗試使用'Accept-Ranges:bytes' http頭,但它不起作用。 –
這還不夠:)你讀過我答案中的鏈接了嗎?在我的答案中點擊'範圍'後面的鏈接。您還需要編寫大量代碼以正確攔截傳入的'Range'請求。您需要從該頭中提取請求的字節範圍,驗證「If-Range」,從磁盤中精確檢索請求的字節範圍,並將其寫入響應,並沿着一組正確的頭文件。 Google上有幾個例子。試試關鍵字「asp.net範圍請求」左右。例如,這首擊:http://tpeczek.blogspot.com/2011/10/range-requests-in-aspnet-mvc.html – BalusC
對於你更熟悉Java的情況,你可能會發現我的舊博客文章更有幫助,請查看「恢復下載」部分:http://balusc.blogspot.com/2009/02/fileservlet-supporting-resume-and.html – BalusC