簡體   English   中英

如何在javaScript中上傳文件?

[英]How to Upload file in javaScript?

當我們用html上傳文件時,我們基本上寫

<input type="file" />

並且此代碼提供ChooseFile按鈕, no file chosen

但是我想要的是創建一個超鏈接,然后單擊超鏈接以使其像type="file"類型的輸入一樣工作-例如:

<a href="#" >ChooseFile</a>

有什么建議么?

不要以為您可以設置輸入=文件按鈕的樣式超出某個限制,

檢查這些鏈接

http://www.quirksmode.org/dom/inputfile.html

樣式輸入類型文件?

或者您可以嘗試使用現成的插件為您完成工作

https://github.com/blueimp/jQuery-File-Upload

我認為這對您有幫助。

<!DOCTYPE html>
    <html>
    <body>

    <p>Click on one of the text labels to toggle the related control:</p>

    <div>
      <a href='#UPLOAD' >Upload a file</a>  
      <input type='file'  name='file1'  
           style='cursor:pointer; opacity:0.01; alpha(opacity=1); position:relative; z-index:200; left: -10em; margin:-0.3em;' />   
    </div>

    </body>
    </html>

嘗試使用現有的jquery插件上傳文件,我建議使用以下插件: http : //blueimp.github.io/jQuery-File-Upload/

最好的選擇是使用有據可查的技巧,該技巧最終會涉及將文件輸入元素隱藏為div的子元素,該div的樣式可以滿足您的需求。 我說這是有據可查的,因為在SO上這是一個非常常見的問題,並且在Internet上的許多其他站點和博客文章中也有涉及。

不要使用javascript單擊文件輸入元素。 您可能會遇到瀏覽器施加的安全限制。 一些瀏覽器甚至可能不允許這樣做。 如果您在使用javascript單擊文件輸入元素后嘗試通過javascript發送文件,則IE等其他文件將引發安全錯誤。

如果您想避免重新發明輪子,可以使用一個預先構建的庫來為您處理跨瀏覽器文件上傳的復雜性。 我建議使用Fine Uploader 它得到了良好的支持,非常活躍,並且發展迅速。 全面披露:我是該庫的主要維護者。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM