日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

ajax上传文件到servlet

發布時間:2023/12/10 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ajax上传文件到servlet 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • js
  • $(function() {// js判斷文件大小function findSize(field_id) {let fileInput = $("#"+field_id)[0];let byteSize = fileInput.files[0].size;return ( Math.ceil(byteSize / 1024 / 1024) ); // Size returned in MB.}// 上傳圖片按鈕 <button type="button"> upload </button>$("#upload-img").click(function () {if (!$("#show-img").prop("src")) {return;}//let imgSize = $("#upload-input")[0].files[0].size;let imgSize = findSize("upload-input");// console.log(imgSize);if (imgSize >= 2) {//$("#myModal1").modal('show');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) {// img_name in server$("#music-list-img").val(img_name);// change current page image$("#list-img").css('display', 'inline');$("#list-img").prop('src', $("#show-img").prop('src'));// close modal$("#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;/*** use smart_upload upload (song_list and song) files..*/ @WebServlet(name = "UploadFile", urlPatterns = "/uploadFile") public class UploadFile extends HttpServlet {public static String path;protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//1.創建文件上傳對象SmartUpload su = new SmartUpload();//2.初始化文件上傳對象su.initialize(getServletConfig(), req, resp);//3.設置相關屬性(限制條件)su.setCharset("utf-8");//設置允許上傳的文件類型su.setAllowedFilesList("jpg,png,bmp");//su.setAllowedFilesList("txt");//設置允許上傳的文件的最大值(單位字節)//設置 2MBsu.setMaxFileSize(1024*1024*2);//設置不允許上傳的文件類型 // try { // su.setDeniedFilesList("zip,7z"); // } catch (SQLException e) { // e.printStackTrace(); // }try {//4.文件上傳su.upload();//取其他數據//必須在upload()方法之后//使用su.getRequest()System.out.println("用戶名:"+su.getRequest().getParameter("userName"));//5.獲得上傳文件Files files = su.getFiles();com.jspsmart.upload.File f = files.getFile(0);//6.保存文件到服務器指定目錄//使用Servlet上下文對象獲得項目的根路徑(真實路徑)String filePath = getServletContext().getRealPath("/music-manage/img");System.out.println("項目根路徑:"+filePath);File file = new File(filePath);//判斷文件夾是否存在if(!file.exists()){file.mkdirs();}//保存文件//生成全球唯一字符串UUID.randomUUID())//獲得文件后綴 f.getFileExt()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的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。