java中的接口是类吗
259
2022-12-29
SpringMVC图片文件跨服务器上传
图片文件跨服务器上传(我使用的公司云桌面作为上传服务器,自己的笔记本作为存储服务器测试的)
一、上传服务器:
1、pom文件(使用jersey插件)
2、前端页面:
多个文件:
3、后台controller:
/**
* 多文件,跨服务器上传
* @param request
* @return
*/
@ResponseBody
@RequestMapping("/uploadImg")
public String fileUpload(MultipartHttpServletRequest request){
jsONObject joson = new JSONObject();
String serverAddress = "http://172.xxx.xxx.xxx:8080";//服务器地址
String folder = "/upload/";//文件夹名称
String fullPaths = "";//绝对路径
String reletivePaths = "";//相对路径
// 创建jesy服务器
Client client = Client.create();
// 获取文件名字
Iterator
List
List
List
try {
while (fileNames.hasNext()) {//判断多文件
// 把fileNames集合中的值打出来
String fileName = fileNames.next();
// request.getFiles(fileName)方法即通过fileName这个Key, 得到对应的文件集合列表.
// 只是在这个Map中, 文件被包装成MultipartFile类型
List
if (fileList.size() > 0) {
// 遍历文件列表
Iterator
while (fileIte.hasNext()) {
// 获得每一个文件
MultipartFile multipartFile = fileIte.next();
// 截取文件的后缀名(.jpg)
String originalFilename = multipartFile.getOriginalFilename();//原始文件名
String subString = originalFilename.substring(originalFilename.indexOf("."));//文件名后缀
//System.out.println("原始文件名:"+originalFilename+";文件后缀名:"+subString);
// 将文件对象转换为字节
byte[] fileBytes = multipartFile.getBytes();
// 生成唯一的一个字符串名称(带后缀)
String newFilename = UUID.randomUUID().toString()+subString;
//System.out.println("唯一文件名(带后缀):"+newFilename);
// 开始上传文件
// 拼接保存的路径(相对路径)
reletivePaths = folder+newFilename;
// 拼接最终保存的路径(绝对对路径)
fullPaths = serverAddress+reletivePaths;
//把文件关联到远程服务器
WebResource webResource = client.resource(fullPaths);
// 上传
webResource.put(String.class, fileBytes);
fileNameList.add(newFilename);//文件名
relaPathList.add(reletivePaths);//相对路径
realPathList.add(fullPaths); //真实完整路径
}
joson.put("success", 1);
joson.put("error", "");
joson.put("fileNameList", fileNameList);
joson.put("relaPathList", relaPathList);
joson.put("realPathList", realPathList);
} else {
joson.put("success", 0);
joson.put("error", "上传失败");
}
}
} catch (UniformInterfaceException e) {
// TODO Auto-generated catch block
e.printStackTrace();
joson.put("success", 0);
joson.put("error", "上传失败");
} catch (ClientHandlerException e) {
// TODO Auto-generated catch block
e.printStackTrace();
joson.put("success", 0);
joson.put("error", "上传失败");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
joson.put("success", 0);
joson.put("error", "上传失败");
}
return joson.toString();
}
二、存储图片文件服务器:
1、Tomcat的conf目录下的web.xml文件的大概100行添加如下几行(这要是不打开就会报错)
2、在该Tomcat的/webapps/ROOT目录下创建一个upload目录,用来存放上传的文件
3、启动Tomcat静等着上传服务器那边的请求
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~