上傳文件中的複製

上傳文件中複製


對應的上傳頁面
添加標籤 
 1.在JSP的頂部引入標記庫指令 

<%@taglib uri="/struts=tags"prefix="s"%>


 其實form表單在你不寫enctype屬性時,也默認爲其添加了enctype屬性值,默認值是enctype="application/x- www-form-urlencoded".這個屬性管理的是表單的MIME編碼,共有三個值可選:

①application/x-www-form-urlencoded (默認值)

②multipart/form-data

③text/plain  其中①application/x-www-form-urlencoded是默認值,


解釋如下
①application/x-www-form-urlencoded是默認值,大家可能在AJAX裏見過這 個:xmlHttp.setRequestHeader("Content-Type","application/x-www-form- urlencoded"); 這兩個要做的是同一件事情,就是設置表單傳輸的編碼。在AJAX裏不寫有可能會報錯,但是在HTML的form表單裏是可以不寫 enctype="application/x-www-form-urlencoded"的,因爲默認HTML表單就是這種傳輸編碼類型。而 ②multipart-form-data是用來指定傳輸數據的特殊類型的,主要就是我們上傳的非文本的內容,比如圖片或者mp3等等。 ③text/plain是純文本傳輸的意思,在發送郵件時要設置這種編碼類型,否則會出現接收時編碼混亂的問題,網絡上經常拿text/plain和 text/html做比較,其實這兩個很好區分,前者用來傳輸純文本文件,後者則是傳遞html代碼的編碼類型,在發送頭文件時才用得上。①和③都不能用 於上傳文件,只有multipart/form-data才能完整的傳遞文件數據。 




<form action="${pageContext.request.contextPath}/fileUpload" method="post" enctype="multipart/form-data">
<input type ="file"name="xxoo"/>   這個名字後面還要用到
<input type="submit"value="提交"/>
</form>
2.建立Action文件


private File xxoo;
private String xxooFileName;            名字+FileName;  
設置器和訪問器
public String fileUpload(){
1.確定上傳路徑
String path =ServletActionContextgetServletContext().getREalPath("upload");
2.創建目標文件夾 
File targetDir=new File (path);
if(!targetDir.exists()){
targetDir.mkdirs();
}
3.創建目標文件對象
File targetFile=new File(targetDir,xxooFileName);
4.複製文件  也可以選擇剪切 


try {
FileUtils.copyFile(xxoo, targetFile);
      } catch (IOException e) {

e.printStackTrace();
}
return SUCCESS;
}



}


上傳 3. struts.xml 裏面添加的內容 
<package name="fileUpload" namespace="/" extend="struts-default">
<action name ="fileUpload"class="action.fileAction" method="fileUpload">
<result>/index.jsp</result>

</action>

</package>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章