① jQuery下動態生成<a>路徑文件不下載
動態創建的a標簽無法模擬點擊下載文件,貌似是瀏覽器的安全機制限制的
② 請教\href本地文件路徑問題
您好:很高興能為您解答問題
讀取本地HTML文件需要幾點要求:
本地瀏覽器支持;
打開方式要選擇對應瀏覽器;
文件後綴是HTM或者HTML;
滿足以上需求,直接雙擊就會在瀏覽器打開,當然這只是靜態HTML頁,並不存在動態語言的情況下!
很高興問您回答,滿意請採納,有問題請追問!
③ 當迅雷顯示"文件路徑超出系統限制"時怎麼辦
迅雷顯示"文件路徑超出系統限制"是設置錯誤造成的,解決方法為:
1、在windows開始菜單找到迅雷APP,雙擊點開。
④ asp下載的時候,會顯示文件路徑,如何防止用戶直接輸入其他文件路徑直接下載,而必須通過表單查詢後才能下載
最簡單的方法,把你現在下面的代碼進行修改:
<a href=yyy/xxx.zip>下載</a>
修改為:
<a href=down.asp?id=001>下載</a>
另外編寫的down.asp,根據參數id的值(例如001)判斷具體的文件位置(例如yyy/xxx.zip),然後用header輸出,代碼如下:
<%
url=""
if Request("id")="001" then url="yyy/xxx.zip"
if Request("id")="002" then url="xxx/xxx.zip"
if url="" then
response.write "調用錯誤"
else
Response.AddHeader "Location: "&url
end if
%>
⑤ a標簽href寫成絕對路徑怎麼不能下載
出於安全考慮,瀏覽器都是禁止來自外部網路的網頁直接訪問本地硬碟資源的哦,以防止病毒或木馬之類的惡意軟體隨意竊取用戶的數據和信息。注意哦,這里說的「外部網路」,也包括你在本地電腦利用IIS假設網頁伺服器,然後網頁通過http協議訪問,但是文件卻是用你這種所謂的絕對路徑來訪問,這樣的話,瀏覽器會認為網頁和文件是處於不同域(網頁在網路中,而文件卻在本地硬碟),也會拒絕訪問的哦。要想實現下載文件的目的,網頁和文件必須處於同一域,比如說把網頁用滑鼠雙擊啟動(而不是在瀏覽器地址欄用網址來訪問),這時候網頁和要下載的文件都屬於本地文件,這時候就可以下載了。或者把網頁和要下載的文件都放到IIS能夠訪問到的文件夾,然後在瀏覽器中用正常的網頁訪問方式也能下載,因為這時候網頁和文件都屬於網路文件了,當然,這時候a標簽的寫法就要改為:
<a href="test.xlsx">...</a>
或者
<a href="http...網址.../test.xls">...</a>
⑥ 一個下載鏈接釋放到客戶端是a標簽,其href屬性是文件的路徑,
別用a標簽用伺服器直接送數據。
publicstaticvoid TransferFile(string filepath)
{
FileStream filestream =new FileStream(filepath, FileMode.Open, System.IO.FileAccess.Read, System.IO.FileShare.Read);
long filesize = filestream.Length;
//讓客戶端瀏覽器正確識別這個文件的類型和文件大小
string filename = System.IO.Path.GetFileName(filepath).ToLower();
HttpContext.Current.Response.ContentType ="application/octet-stream";
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=\""+ HttpUtility.UrlEncode(filename, System.Text.Encoding.UTF8) +"\";");
HttpContext.Current.Response.AddHeader("Content-Length", filesize.ToString());
//將文件中的數據發送到客戶端
byte[] filebuffer =newbyte[filesize];
filestream.Read(filebuffer, 0, (int)filesize);
HttpContext.Current.Response.BinaryWrite(filebuffer);
filestream.Close();
HttpContext.Current.Response.End();
}
⑦ 網站加一個點擊下載網址到桌面的代碼,但這個代碼不起作用,不知道為什麼<a href="文件路徑">點我下載</a>
如果文件類型在瀏覽器中不能直接打開,則點擊時就彈出下載框;如果文件可以直接由瀏覽器直接打開則會直接打開而不會彈出下載框。
如<a href='a.jpg'>下載a.jpg</a>,點擊時則會直接打開而不彈出下載框;如果<a href='a.arr'>下載a.rar</a>則會彈出下載框。
⑧ 兩個location.href數據緩存問題。jq
1、在當前頁面未完全載入時,使用location.href跳一下頁面,會發現當前頁面的歷史有時會留下,有時不會留下
【場景舉例】在A頁面做登錄攔截,如果發現未登錄則立刻跳B,在B執行history.back(),則有時會到A,有時會到A的上一頁(觀察到與網速有關,網速快時A沒歷史,網速慢時A有歷史)。因此,B的上一條histiory不固定的話,返回的功能就會有問題。
【原因分析】參看HTML Standard文檔說明, 如果當前document沒有完全載入,則就算使用location.href也相當於replace的作用,原來是historyHanding在作怪
【解決方案】區分historyHanding是否會被置為replace的關鍵點在於找到Document is completely loaded的時點,經在chrome瀏覽器里驗證,通過window.onload方法無法判斷,通過$(document).ready()也無法判斷。
兩個解決辦法:
方法一:加延時
加100-300ms的延時,保證當前頁的歷史一定存在
方法二:通過document.readyState判斷
document.readyState有loading(正在載入)、interactive(可交互)和complete(完成)等狀態,嘗試使用complete來進行判斷。如果未載入完成,手動插入一條歷史,以保證當前頁歷史一定存在。
if(document.readyState!=="complete"){
history.pushState(null,"",location.href);
}
2、在iOS webview 中連續快速調用2個location.href,則會導致前一個會被取消
【場景舉例】嵌在App中的H5,可能會使用location.href的方式通知原生做一些事情,如隱藏頭部、修改頭部顏色、隱藏菜單等等,當需要同時做多件事情時,在iOS webview中,連續使用location.href,會有請求abort。因此無法同時通知APP原生做多件事情。
【解決方案】採用iframe
let iframe = document.createElement("IFRAME");
iframe.style.display = "none";
iframe.style.height = 0;
iframe.setAttribute("src", url);
document.body.appendChild(iframe);
setTimeout(() => {
iframe.parentNode.removeChild(iframe);
iframe = null;
}, 200);
3、在瀏覽器中,連續調用多個location.href會看到有請求被cancle掉了。其實問題3與問題2有異曲同工之處。
【場景舉例】js循環批量下載文件時,如果使用location.href會出現部分文件無法下載。
【解決方案】採用iframe,與2類似
⑨ 在JSP中使用href下載文件的問題
在JSP中,使用超級連接來下載文件的方法,可以用href屬性來指定其下載路徑及文件名,
如:
要下載路徑為:htttp://localhost:8080/HB/,文件名問140.xls的文件,
在JSP中的寫法:<a href="htttp://localhost:8080/HB/140.xls"> 140.xls</a>;
然後在瀏覽器中打開後,點擊超鏈接即可。
⑩ .net 如何下載含有特殊字元#文件 下載地址我使用的是鏈接 <a href=文件名></a>,文件名中帶#號
使用這個函數:server.urlencode()