2011-04-11 28 views
22

文件上傳到我的服務器基本上我有這種形式,它允許用戶上傳到我的服務器:如何使用HTML

<form id = "uploadbanner" method = "post" action = "#"> 
     <input id = "fileupload" type = "file" /> 
     <input type = "submit" value = "submit" id = "submit" /> 
</form> 

但問題是,當我上傳文件,然後點擊提交,我在服務器目錄中沒有看到文件上傳。

+4

HTML只能選擇和發送文件內容。獲取文件內容是服務器的責任。 HTML不會在服務器中運行。只有服務器端語言,如Java/C#/ PHP/JSP/ASP /等運行在服務器端。但是你沒有提到你正在使用哪一個。答案依賴於此。所以請提及並標記您使用的是哪一個。基於你的問題歷史,它是PHP。這是真的?如果是這樣,那麼這個問題是一個愚蠢的http://stackoverflow.com/questions/198346/whats-the-best-way-to-create-a-single-file-upload-form-using-php – BalusC 2011-04-11 21:59:30

+3

什麼是你的後端語言?您不能只將HTML放在網頁上,並期望您的網絡瀏覽器將內容上傳到您的計算機。這將是一個巨大的安全缺陷。 – 2011-04-11 21:59:38

回答

37
<form id="uploadbanner" enctype="multipart/form-data" method="post" action="#"> 
    <input id="fileupload" name="myfile" type="file" /> 
    <input type="submit" value="submit" id="submit" /> 
</form> 

你需要一個表單類型,然後一些PHP處理文件:)

你或許應該看看Uploadify如果你想要的東西非常定製開箱即用。

+0

對於FORM元素,'type' [甚至不是有效的屬性](http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4)。 – user2246674 2013-05-04 03:11:04

+7

它應該是enctype =「multipart/form-data」,否則你只加載文件名而不加載數據。 – 2013-11-22 09:50:36

8

你需要enctype="multipart/form-data"否則你只會加載文件名而不是數據。

+4

沒有必要回應其他評論。答案已經被編輯,以包含這一點。 – Mike 2016-10-13 14:47:24

-1

除了其他人已經說過的之外,爲了服務器讀取並保存文件,某種服務器端腳本是必需的。

使用PHP可能是一個不錯的選擇,但您可以自由使用任何服務器端腳本語言。 http://www.w3schools.com/php/php_file_upload.asp可能在這方面有用。

+0

這不好。正如Calum在4年前指出的那樣,它缺少'enctype'屬性。 – Quentin 2016-06-20 09:28:25

+0

好吧,我認爲如果我再次說同樣的話就會是多餘的;) – Dane 2016-06-21 05:13:00