1. 程式人生 > 其它 >SpringMVC跨伺服器檔案上傳

SpringMVC跨伺服器檔案上傳

分伺服器的目的

上傳分析

實現

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";
    }