SpringMVC跨伺服器檔案上傳
阿新 • • 發佈:2022-05-08
分伺服器的目的
上傳分析
實現
1.匯入jar包(jersey)
<dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-core</artifactId> <version>1.19</version> </dependency> <dependency> <groupId>com.sun.jersey</groupId> <artifactId>jersey-client</artifactId> <version>1.19</version> </dependency>
2.修改tomcat的配置檔案:conf/web.xml,在DefaultServlet下新增
寫入檔案許可權
<init-param>
<param-name>readonly</param-name>
<param-value>false</param-value>
</init-param>
3.前端程式碼
<h3>跨伺服器檔案上傳</h3> <form action="user/fileUpLoad3" method="post" enctype="multipart/form-data"> 選擇檔案:<input type="file" value="選擇檔案" name="upload"><br> <input type="submit" value="上傳"> </form>
4.後端程式碼
@RequestMapping("/fileUpLoad3") public String fileUpLoad3(MultipartFile upload) throws Exception{ System.out.println("跨伺服器檔案上傳"); //定義上傳檔案伺服器路徑 String path = "http://localhost:8080/fileuploadserver/uploads/"; //獲取檔名稱 String fileName = upload.getOriginalFilename(); //變為唯一值 fileName = UUID.randomUUID().toString().replace("-","")+"_"+fileName; //建立客戶端物件 Client client = Client.create(); //和圖片伺服器進行連線 WebResource webResource = client.resource(path+fileName); //如果path末尾無/ 則需要 path+/+filename //上傳檔案 webResource.put(upload.getBytes()); return "success"; }