js獲取檔案輸入框的真實目錄

2022-02-22 18:26:13 字數 1354 閱讀 7849

頁面有乙個input file伺服器控制項,乙個div,div是image標籤的容器,當點選input file的值改變,我們往div裡追加image標籤;

但當通過js的onchange事件動態獲取input file 的路徑的時候,發現console.log(path)列印出的路徑是被瀏覽器遮蔽的,例如:c:\fakepath\file.jpg

由於瀏覽器的安全機制,當我們獲取input file的路徑時被fakepath代替,隱藏了真實物理路徑。

當然,調整瀏覽器的瀏覽器安全設定可以解決這個問題,但是這種解決辦法顯然不是我們想要的,不可能讓每個用於都去設定瀏覽器安全選項。

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()方法.。當頁面被關閉,瀏覽器會自動釋放它,但是為了最佳效能和記憶體使用,當確保不再用得到它的時候,就應該釋放它。

<

img

src=""

/>

<

input

type

="file"

name

="file1"

id="file1"

/>

<

button

>點我

button

>

<

script

>

function

getobjecturl(file)

else

if(window.url

!=undefined)

else

if(window.webkiturl

!=undefined)

return

url;

}//使用方法$("

#file1

").change(

function

());

script

>

JS基礎 輸入框獲取焦點

我是第一種方式 我是第一種方式 我是第二種方式 我是第二種方式 我是 賬號 京東 var taobao document.getelementbyid taobao var first document.getelementbyid first var second document.getelem...

原生js獲取單選 輸入框資訊

一 表單輸入框與單選值獲取 直接通過form中屬性name值獲取 lang en charset utf 8 name viewport content width device width,initial scale 1.0 documenttitle show style head name m...

JS輸入框校驗

想做姓名輸入的js判斷是否是中文,但是網上找的很多是源於一篇文章的,判斷中文的正則式不對,後來找到乙個可以準確判斷了,但是是監測裡面有中文的就行,跟我想要的只能輸入中文的意思相左,所以又找了下面的 js 控制文字框只能輸入數字 input nkeyup value value.replace 0 9...