這篇文章主要為大家詳細介紹了Ajax實現(xiàn)文件上傳功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了Ajax實現(xiàn)文件上傳的具體代碼,供大家參考,具體內(nèi)容如下
前端表單 和 JQuery jsp/html代碼
使用JQury
<script src="static/js/jquery-3.4.1.js"></script>
前端表單
<form id="form-avatar" enctype="multipart/form-data">
<p>請選擇要上傳的文件:</p>
<p><input type="file" name="file" /></p>
<p><input id="btn-avatar" type="button" value="上傳" /></p>
</form>
ajax請求服務(wù)器
<script>
function uploadfile(){
$.ajax({
url : "/url/upload",
data: new FormData($("#form-avatar")[0]),
type : "POST",
// 告訴jQuery不要去處理發(fā)送的數(shù)據(jù),用于對data參數(shù)進行序列化處理 這里必須false
processData : false,
// 告訴jQuery不要去設(shè)置Content-Type請求頭
contentType : false,
success : function(json) {
alert("執(zhí)行成功");
},
error : function(json) {
alert("執(zhí)行失敗");
}
});
}
$("#btn-avatar").on("click",uploadfile);
</script>
Conroller.java
@PostMapping("/upload")
public void fileUpload2(@RequestParam("file") CommonsMultipartFile file, HttpServletRequest request) throws IOException {
System.out.println("走了");
//上傳路徑保存設(shè)置
String path = request.getServletContext().getRealPath("/upload");
File realPath = new File(path);
if (!realPath.exists()) {
realPath.mkdir();
}
//上傳文件地址
System.out.println("上傳文件保存地址:" + realPath);
//通過CommonsMultipartFile的方法直接寫文件(注意這個時候)
file.transferTo(new File(realPath + "/" + file.getOriginalFilename()));
}
結(jié)果
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
來源:腳本之家
鏈接:https://www.jb51.net/article/180067.htm
申請創(chuàng)業(yè)報道,分享創(chuàng)業(yè)好點子。點擊此處,共同探討創(chuàng)業(yè)新機遇!