生活随笔
收集整理的這篇文章主要介紹了
ajax上传文件到servlet
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
js
$(function() {function findSize(field_id
) {let fileInput
= $("#"+field_id
)[0];let byteSize
= fileInput
.files
[0].size
;return ( Math
.ceil(byteSize
/ 1024 / 1024) ); }$("#upload-img").click(function () {if (!$("#show-img").prop("src")) {return;}let imgSize
= findSize("upload-input");if (imgSize
>= 2) {alert('請選擇2MB以下的圖片');return;}let formData
= new FormData($("#img-form")[0]);$
.ajax({url
: "/WebMusicPlayer/uploadFile",data
: formData
,type
: "post",cache
: false,processData
: false,contentType
: false,success
: function (img_name
) {$("#music-list-img").val(img_name
);$("#list-img").css('display', 'inline');$("#list-img").prop('src', $("#show-img").prop('src'));$("#upd-img").modal('hide');},error
: function (e
) {console
.log(e
);}});});});
servlet (jsp smart upload)
package com
.lovely
.action
;import com
.jspsmart
.upload
.Files
;
import com
.jspsmart
.upload
.SmartUpload
;
import com
.jspsmart
.upload
.SmartUploadException
;import javax
.servlet
.ServletException
;
import javax
.servlet
.annotation
.WebServlet
;
import javax
.servlet
.http
.HttpServlet
;
import javax
.servlet
.http
.HttpServletRequest
;
import javax
.servlet
.http
.HttpServletResponse
;
import java
.io
.File
;
import java
.io
.IOException
;
import java
.io
.PrintWriter
;
import java
.util
.UUID
;
@WebServlet(name
= "UploadFile", urlPatterns
= "/uploadFile")
public class UploadFile extends HttpServlet {public static String path
;protected void service(HttpServletRequest req
, HttpServletResponse resp
) throws ServletException
, IOException
{SmartUpload su
= new SmartUpload();su
.initialize(getServletConfig(), req
, resp
);su
.setCharset("utf-8");su
.setAllowedFilesList("jpg,png,bmp");su
.setMaxFileSize(1024*1024*2);
try {su
.upload();System
.out
.println("用戶名:"+su
.getRequest().getParameter("userName"));Files files
= su
.getFiles();com
.jspsmart
.upload
.File f
= files
.getFile(0);String filePath
= getServletContext().getRealPath("/music-manage/img");System
.out
.println("項目根路徑:"+filePath
);File file
= new File(filePath
);if(!file
.exists()){file
.mkdirs();}String fileName
= UUID
.randomUUID()+"."+f
.getFileExt();filePath
= filePath
+"/"+ fileName
;f
.saveAs(filePath
);System
.out
.println("上傳成功");resp
.setContentType("text/plain;charset=utf-8");PrintWriter out
= resp
.getWriter();out
.print(fileName
);out
.close();} catch (SmartUploadException e
) {e
.printStackTrace();System
.out
.println("文件上傳失敗");}}
}
總結
以上是生活随笔為你收集整理的ajax上传文件到servlet的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。