报错内容

com.sun.jersey.api.client.UniformInterfaceException: PUT http://.jpg returned a response status of 400 Bad Request

因为跨服务器上传文件,文件名中里面含有中文名称,所以报错,解决:

让文件服务器支持utf-8编码或者将文件名变成英文。(最好的就是根据时间加随机数 或者是UUID来命名)

简单版的jsersey上传

    @RequestMapping("/fileupload3")
public String fileuoload3(MultipartFile upload) throws Exception {
System.out.println("跨服务器文件上传..."); // 定义上传文件服务器路径
//String path = "http://localhost:9090/uploads/";
String path="http://localhost:9082/fileuploadserver_war/uploads/"; // 说明上传文件项
// 获取上传文件的名称
String filename = upload.getOriginalFilename();
// 把文件的名称设置唯一值,uuid
String uuid = UUID.randomUUID().toString().replace("-", "");
filename = uuid+"_"+filename; // 创建客户端的对象
Client client = Client.create(); // 和图片服务器进行连接
WebResource webResource = client.resource(path + filename); // 上传文件
webResource.put(upload.getBytes()); return "success";
}

  前端html代码

  <h3>跨服务器文件上传</h3>

    <form action="/user/fileupload3" method="post" enctype="multipart/form-data">
选择文件:<input type="file" name="upload" /><br/>
<input type="submit" value="上传" />
</form>

  引用的包地址

    <!--文件上传-->
<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.2</version>
</dependency> <!--跨服务器文件上传的插件-->
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-core</artifactId>
<version>1.18.1</version>
</dependency>
<dependency>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-client</artifactId>
<version>1.18.1</version>
</dependency>

idea 内置tomcat jersey 上传文件报403错误的话我看另外一篇文章tomcat jersey 上传文件报403错误》

来源:dillqq ,另外关于如果有人要参考jersey上传写法 看JustCode

 

最新文章

  1. postman使用
  2. android studio导入jar的两种方式
  3. 51nod 1040最大公约数和(欧拉函数)
  4. 20169212《Linux内核原理与分析》第三周作业
  5. WCF vs ASMX WebService
  6. Android UI基础之五大布局
  7. atan atan2的区别!
  8. UILabel 自适应大小
  9. initWithFrame和initWithCoder区别
  10. Fancy
  11. AIX6.1/11.2.0.3在有关数据库SWAP一个BUG
  12. server正式的环境性能测试nginx-php 指着寻求突破的表现
  13. OCP-1Z0-051-题目解析-第13题
  14. linux中普通的文件查看操作(cat、more、less、head、tail)
  15. Vue(day3)
  16. input(type=&quot;checkbox&quot;|type=&quot;radio&quot;)+jquery使用
  17. 个人对stm32ADC编程关键点的理解
  18. 第20月第28天 tensorflow
  19. 【maven】之打包不带版本号的问题
  20. linux 端口占用情况

热门文章

  1. XCTF练习题---CRYPTO---混合编码解析
  2. vue package.json 详解
  3. 开发一款让我们慢慢变好的微信小程序
  4. 【microPython与esp8266】之一——呼吸灯与PWM
  5. Mac 手动安装 bee工具
  6. 【拖拽可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
  7. Ubuntu中安装redis
  8. PowerShell 笔记 - 基础篇
  9. C#实现找二维数组中的鞍点
  10. python操作MySQL与MySQL补充