1. 除了spring相关的依赖依赖,我们需要添加jersey的两个相关依赖,版本信息可以不同。
    <dependency><groupId>com.sun.jersey</groupId><artifactId>jersey-client</artifactId><version>1.19.4</version></dependency><dependency><groupId>com.sun.jersey</groupId><artifactId>jersey-core</artifactId><version>1.19.4</version></dependency>
  1. 在springmvc.xml文件中,配置文件解析器
<!--配置文件解析器--><bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"><property name="maxUploadSize" value="10485760"></property></bean>
  1. 编写前端页面。
<form action="file/fileServer8082" method="post" enctype="multipart/form-data">选择文件:<input type="file" name="fileUpload"/><br/><input type="submit" value="上传"/></form>

因为是跨服务器上传,所以这里我们需要搭建两个tomcat环境,web用8081,文件服务器用8082。
文件服务器需要在tomcat安装目录的web.xml文件中加入初始化参数:readonly=false,否则上传时可能会报403。

    <servlet><servlet-name>default</servlet-name><servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class><init-param><param-name>debug</param-name><param-value>0</param-value></init-param><init-param><param-name>listings</param-name><param-value>false</param-value></init-param><init-param><param-name>readonly</param-name><param-value>false</param-value></init-param><load-on-startup>1</load-on-startup></servlet>
  1. 编写前端控制器
    @RequestMapping("/fileServer8082")public  String doSpringMvcFileUpload(MultipartFile fileUpload) throws Exception {//声明文件上传服务器地址String path = "http://localhost:8082/uploads/";System.out.println(path);String fileName = fileUpload.getOriginalFilename();String uuid  = UUID.randomUUID().toString();fileName = uuid + "-" + fileName;//创建客户端对象Client client = Client.create();//与文件服务器进行连接WebResource webResource = client.resource(path+fileName);//文件上传webResource.put(fileUpload.getBytes());return "uploadSuccess";}
  1. 注意:上传时还特别容易报409,原因是对应服务器目录下没有那个/uploads/文件目录,这时需要手动创建一个。跨服务器文件上传,相较于本地上传,改动其实不算大,只需要添加jersey组件,逻辑还是非常清晰。但实际操作的时候还是非常可能出现一些奇葩异常,非常建议初学者动手敲一敲。

springMVC结合jersey实现跨服务器文件上传相关推荐

  1. SpringMVC第二讲——传参、修改端口、请求转发、重定向、跨服务器文件上传

    传参 在地址栏?代表开始传参,用&来分隔变量 /*** 请求参数-简单传参* @param name* @param age* @return*/@RequestMapping("t ...

  2. Springmvc跨服务器文件上传报403,409错误

    报403错误 Tomcat默认只读模式,传图片会被拒绝 解决:找到 Tomcat 目录---conf下---web.xml,打开 加入 <init-param><param-name ...

  3. 前后端分离跨服务器文件上传,SpringBoot+Vue.js实现前后端分离的文件上传功能

    这篇文章需要一定vue和springboot的知识,分为两个项目,一个是前端vue项目,一个是后端springboot项目. 后端项目搭建 我使用的是springboot1.5.10+jdk8+ide ...

  4. 科普|不同协议下远程服务器文件上传_下载优劣对比

    作为一个程序员,如果不知道如何进行远程服务器的文件上传与下载,实在是一件尴尬的事情.打开百度,搜索「远程服务器 上传下载」,你能得到 63,100,000 个搜搜结果,五花八门的操作方式的让人眼花缭乱 ...

  5. 华为服务器上传文件后怎么通过链接查看,远程服务器文件上传后的操作

    远程服务器文件上传后的操作 内容精选 换一换 本节指导您基于Linux操作系统环境完成镜像文件快速导入,推荐使用云平台的EulerOS云服务器作为转换镜像格式和生成位表文件的环境.Linux操作系统环 ...

  6. 腾讯云COS服务器文件上传与生命周期的设置,以及Opencv nparry数组格式图片非文件流方式上传

    目录 Opencv numpy arry图片非文件流直接上传 腾讯云COS服务器的文件上传和生命周期的设置 1.申请服务器 2.创建桶 3.官方文档以及安装SDK 4.开始使用(官方示例代码) 5.必 ...

  7. 文件上传到ftp服务器大小变小,ftp服务器文件上传大小设置

    ftp服务器文件上传大小设置 内容精选 换一换 文件选择上传控件,用于上传文件. Windows场景中,当把源端服务器迁移到华为云后,目的端服务器C盘的已用空间比对应源端服务器C盘的已用空间大至少1G ...

  8. 设置服务器文件上传地址,设置服务器文件上传地址

    设置服务器文件上传地址 内容精选 换一换 您需要提前准备好符合条件的镜像文件,并了解操作系统的已知问题(参见已知问题).表1中,网络.工具.驱动相关的配置需要在虚拟机内部完成,强烈建议您在原平台的虚拟 ...

  9. flask上传文件至服务器,flask服务器文件上传云

    flask服务器文件上传云 内容精选 换一换 弹性云服务器支持通过内网访问OBS,OBS可供用户存储任意类型的数据.将图片.视频等数据存储至OBS后,在ECS上可以访问OBS,下载桶中的图片或视频等数 ...

最新文章

  1. 硬件工程师笔试常见问题
  2. 理解 OpenStack 高可用(HA) (6): MySQL HA
  3. python 百度网盘下载提速_教你如何百度网盘的提高下载速度?
  4. Android学习总结(2)——App客户端与服务器交互中的token
  5. 一大波Java来袭(四)String类、StringBuilder类、StringBuffer类对照
  6. Android拍照返回图片
  7. 《Java Web项目开发实战案例》最新源码
  8. 【转】Nero v9.4.26.0 多语(简体中文)版+完美破解(世界上最多人使用的烧录软体)...
  9. PHP:错误控制运算符
  10. 【随笔】那些免费友好的遥感影像数据下载网站
  11. 网络墨卡托投影的前世今生
  12. Lvgl7 基础对象(lv_obj)
  13. 睡眠手环APP开发上线
  14. Unity中的3D数学—02向量与矩阵
  15. 4大区块链技术高盈利方式盘点
  16. codeforces1000a csdn-博客
  17. Task10 BERT
  18. GPS软件接收机(1)——GPS信号捕获
  19. 数字孪生的概念是什么【深度】
  20. pandorabox开启ssr_华硕及 PandoraBox 固件如何启用 SSH 和SFTP 连接

热门文章

  1. 如何在Linux中符号链接文件? [关闭]
  2. Python基础-Pygame游戏框架之飞机大战
  3. java api接口签名验证失败_cryptapi结合java进行数字签名与验证签名的困惑
  4. lstm原文_对时间序列分类的LSTM全卷积网络的见解
  5. 语言可以编辑系统软件吗_你知道吗?你本来也可以精通多国语言
  6. C++《STL全集》
  7. 新胖子公式 (10 分)
  8. 教老年人计算机心得体会,老年人教育工作心得体会
  9. 最短寻道时间优先算法c语言程序,操作系统先来先服务、最短寻道时间优先(SSTf)、扫描算法(SCAN)、循环扫描算法(CSCAN)的c++实现.doc...
  10. pbp 读取 mysql数据_pbp: Django项目开发,个人博客网站类。