中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • 如何解決使用js獲取inputfile的絕對路徑預覽圖片C:fakepath問題

如何解決使用js獲取inputfile的絕對路徑預覽圖片C:fakepath問題

發布時間:2021-09-27 10:37:25 來源:億速云 閱讀:158 作者:小新 欄目:開發技術

這篇文章主要為大家展示了“如何解決使用js獲取inputfile的絕對路徑預覽圖片C:fakepath問題”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“如何解決使用js獲取inputfile的絕對路徑預覽圖片C:fakepath問題”這篇文章吧。

1.問題

頁面有一個input file服務器控件,一個p,p是image標簽的容器,當點擊input file的值改變,我們往p里追加image標簽; 但當通過js的onchange事件動態獲取input file 的路徑的時候,發現console.log(path)打印出的路徑是被瀏覽器屏蔽的,例如:C:fakepathfile.jpg

2.原因

由于瀏覽器的安全機制,當我們獲取input file的路徑時被fakepath代替,隱藏了真實物理路徑。 當然,調整瀏覽器的瀏覽器安全設置可以解決這個問題,但是這種解決辦法顯然不是我們想要的,不可能讓每個用于都去設置瀏覽器安全選項。

3.認識window.URL.createObjectURL()

URL.createObjectURL()方法會根據傳入的參數創建一個指向該參數對象的URL,這個URL的生命僅存在于它被創建的這個文檔里,新的對象URL指向執行的File對象或Blob對象。 語法:objcetURL = window.URL.createObjectURL(file || blob); 參數:File對象和Blob對象;File對象就是一個文件,比如我用file type=”file”標簽來上傳文件,那么里面的每個文件都是一個file對象。Blob對象就是二進制數據,比如在XMLHttpRequest里,如果指定requestType為blob,那么得到的返回值也是一個blob對象。 每次調用createObjectURL的時候,一個新的URL對象就被創建了。即使你已經為同一個文件創建過一個URL.,如果你不再需要這個對象,要釋放它,需要使用URL.revokeObjectURL()方法.。當頁面被關閉,瀏覽器會自動釋放它,但是為了最佳性能和內存使用,當確保不再用得到它的時候,就應該釋放它。

4.解決辦法

functiongetObjectURL(file){varurl=null;if(window.createObjcectURL!=undefined){url=window.createOjcectURL(file);}elseif(window.URL!=undefined){url=window.URL.createObjectURL(file);}elseif(window.webkitURL!=undefined){url=window.webkitURL.createObjectURL(file);}returnurl;}//使用方法$("#file").change(function(){varfile=this.files[0];varurl=getObjectURL(file);//blob:http://doamin.com/5376c16a-02f9-489f-b30c-97a1808d5724});

以上是“如何解決使用js獲取inputfile的絕對路徑預覽圖片C:fakepath問題”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

林口县| 开远市| 富川| 灵丘县| 上林县| 招远市| 仙桃市| 安溪县| 临澧县| 大庆市| 固原市| 宁明县| 三明市| 陈巴尔虎旗| 景宁| 海口市| 双辽市| 达日县| 绥滨县| 寻甸| 武义县| 仁寿县| 新民市| 安仁县| 勐海县| 乐山市| 独山县| 同仁县| 始兴县| 确山县| 资阳市| 安化县| 安徽省| 格尔木市| 祁东县| 宜丰县| 苏尼特右旗| 达拉特旗| 吉木萨尔县| 广水市| 哈密市|