一、文件目录
注释:
- Servers : Tomcat服务器(只要安装tomcat就会有)
- springboot : 服务器1. 服务器端口号改为8090(文件夹虽然爆红,但是不影响)
- uploadController : 控制结构
- JesyFileUploadUtil : 自定义的jesy工具类
- application.properties : 端口号修改
- ssm_image_server : 服务器2(因为要实现的效果是跨服务器文件上传,所以自己模拟了一个服务器,需要用tomcat启动,端口号未更改,还是8080.)
- upload : 承接上传文件的文件夹。
- webapp代码,在我的资源里面,直接粘贴即可。(我的本地在D盘eclip文件夹下wedapp.zip)
二、代码
demo包下的controller包下的uploadController
package demo.controller;
import java.io.IOException;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import demo.utils.JesyFileUploadUtil;
@Controller
public class uploadController {
private final String PIC_URL = "http://127.0.0.1:8080/ssm_image_server";
@RequestMapping(value = "uploadPic" , method = RequestMethod.POST)
@ResponseBody
public String uploadPic(HttpServletRequest request , String fileName){
//调用跨服务器上传文件的工具类方法上传文件
String result = "";
try {
result = JesyFileUploadUtil.uploadFile(request, fileName, PIC_URL);
} catch (IOException e) {
e.printStackTrace();
}
return result;
}
}
工具类:util包下的JesyFileUploadUtil
package demo.utils;
import java.io.IOException;
import java.util.Date;
import java.util.Random;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.WebResource;
/**
* 跨服务器文件上传工具类
* @author 樊**
*
*/