1.1、添加upload文件夹

在webapps\Root文件夹下创建用于接收上传文件的upload文件夹

创建upload文件夹

1.2、修改conf\web.xml设置允许上传文件

<init-param>
            <param-name>readonly</param-name>
            <param-value>false</param-value>
        </init-param>

1.3、启动tomcat服务器

Tomcat文件路径bin目录startup.bat

启动界面如下所示

 之后登录http://localhost:8080/ 网址,显示Tomcat即为成功

之后往upload中放入图片,输入路径

效果如下图所示

二、后台开发


新建web项目,在pom.xml中添加依赖


 <!-- 文件上传依赖 --><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.1</version></dependency><!-- servlet依赖,用于接收多媒体文件--><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version></dependency><!--jersey跨服务器上传依赖--><dependency><groupId>com.sun.jersey</groupId><artifactId>jersey-client</artifactId><version>1.19</version></dependency><dependency><groupId>com.sun.jersey</groupId><artifactId>jersey-core</artifactId><version>1.19</version></dependency>

application.yml配置上传文件的大小

#设置单个文件的大小,-1表示不限制,单位MB
      max-file-size: 10MB
      #设置单次请求的文件总大小,-1表示不限制,单位MB
      max-request-size: 100MB

因为我们启动8080已经占用了,所以这里我们要用8070

还有码写application.yml文件时注意空格,否则会出现配置错误

server:port: 8070
spring:servlet:multipart:#设置单个文件的大小,-1表示不限制,单位MBmax-file-size: 10MB#设置单次请求的文件总大小,-1表示不限制,单位MBmax-request-size: 100MB

Jersey工具类

逻辑整理 

  1. 给文件设置个名称,保证唯一
    获取当前时间的时间戳(毫秒数)
    随机生成3位数,拼接到时间戳后面
    获取原文件的后缀名
    获取原版文件的文件名,比如aaa.png
  2. 创建Jersey对象,进行文件上传
    想得到的效果:http://localhost:8080/upload/245525665555265.png
    serverUrl=http://localhost:8080/upload  /    fileName=245525665555265.png
  3. 通过Jersey上传文件
  4. 获取文件的路径

package demo.utils;import com.sun.jersey.api.client.Client;
import com.sun.jersey.api.client.WebResource;
import org.springframework.web.multipart.MultipartFile;import java.io.IOException;
import java.util.Date;
import java.util.Random;/*** 上传文件的工具类*/
public class JerseyFileUploadUtil {/*** 上传文件** @param file      要上传的文件* @param serverUrl 文件服务器的路径,比如http://localhost:8080/upload* @return*/public static String uploadFile(MultipartFile file, String serverUrl) throws IOException {  //第1步:给文件设置个名称,保证唯一String fileName = null;//获取当前时间的时间戳(毫秒数)long timeStamp = new Date().getTime();fileName=fileName+timeStamp;//随机生成3位数,拼接到时间戳后面Random r = new Random();//用于生成随机数对象for (int i=0;i<3;i++){// fileName= fileName +(int)(Math.random()*10);fileName= fileName + r.nextInt(10);//生成一个0-10之间的随机整数}//获取原文件的后缀名//获取原版文件的文件名,比如aaa.pngString sourceFileName = file.getOriginalFilename();//获取文件的后缀名.pngString suffix = sourceFileName.substring(sourceFileName.lastIndexOf("."));//indexOf从左往右  lastIndexOf从右往左fileName = fileName + suffix; //生成时间戳+3位随机数+后缀名,比如:245525665555265.png//第2步:创建Jersey对象,进行文件上传Client client = Client.create();//想得到的效果:http://localhost:8080/upload/245525665555265.png//serverUrl=http://localhost:8080/upload  /    fileName=245525665555265.pngWebResource webResource = client.resource(serverUrl+"/"+fileName);//第3步:通过Jersey上传文件webResource.put(String.class,file.getBytes());//第4步:获取文件的路径return fileName;}
}

Controller

然后执行文件,如果出现下面执行错误,jdk版本不对

第一步 prom中版本更改,3.0.0改成2.6.3

第二步   

第三步

验证服务器启动成功,执行Demo类 

三、前端开发

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="assets/vue.min-v2.5.16.js"></script><script src="assets/axios.min.js"></script>
</head>
<body>
<div id="app"><!--    上传文件控件--><input type="file" @change="upload"><img :src="imgUrl"/></div>
<script>new Vue({el: '#app',data: {imgUrl:null},methods: {//上传文件//上传文件要取到,所以用e来获取upload(e){var file = e.target.files[0];//获取要上传的文件var formData=new FormData();formData.append("file",file);//通过axios发送请求axios.post("http://localhost:8070/uploadFile",formData,{'Content-type':'multipart/form-data'}).then(response=>{console.log(response.data);this.imgUrl= response.data;});}}});
</script>
</body>
</html>

效果如图

同时文件夹中也要保存有

jersey跨域文件上传相关推荐

  1. php js跨域上传文件,Jquery实现跨域异步上传文件步骤详解

    这次给大家带来Jquery实现跨域异步上传文件步骤详解,Jquery实现跨域异步上传文件的注意事项有哪些,下面就是实战案例,一起来看一下. 先说明白 这个跨域异步上传功能我们借助了Jquery.for ...

  2. springMVC结合jersey实现跨服务器文件上传

    除了spring相关的依赖依赖,我们需要添加jersey的两个相关依赖,版本信息可以不同. <dependency><groupId>com.sun.jersey</gr ...

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

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

  4. C/C++:mongoose.c实现多表单域文件上传

    前言 笔者这里有需求需要用mongoose.c在上传文件的时候同时还要提交其他表单字段,百度一圈居然没有一个完整的例子,都是把源码示例的上传文件例子抄,讲也没讲明白.源码示例都是只有1个文件域上传.由 ...

  5. Jersey框架:文件上传下载

    企业应用中,文件管理是非常通用和重要的模块,功能包括文件上传.下载.文件管理(浏览.删除.权限等)等操作,本文针对Jersey框架实现文件的上传和下载. Jersey文件特性 Jersey实现文件上传 ...

  6. form上传文件以及跨域异步上传

    要设置了enctype属性才能上传,需要使用上传的jar包,这里使用的是cos-26Dec2008.jar, 关于跨域上传文件: 跨域上传文件总会报错,即使服务器端设置了header('Access- ...

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

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

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

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

  9. android上传文件php,PHP编写安卓文件上传接口

    为了快速满足安卓客户端或跨域文件上传接口,现在用PHP写个可以文件上传类.可通过安卓客户端或者其他域名的网站上传窗口,可以把文件上传指定的服务器中,下面是详细代码.//主方法获取上传文件 public ...

最新文章

  1. .net core razor ajax,.NET CORE Razor Pages Ajax 调用 C# 方法
  2. Android利用温度传感器实现带动画效果的电子温度计
  3. TokenInsight:反映区块链行业整体表现的TI指数较昨日同期上涨5.35%
  4. java 日期 年数_关于java:为什么不赞成使用“新日期(整数年,整数月,整数日)”?...
  5. Solve error: Cannot open include file: 'X11/Xlocale.h': No such file or directory
  6. [转载] Java之可变参数
  7. php动态交叉表,SQLServer:SQL实现动态交叉表
  8. shell split分析日志文件
  9. VBScript: Windows脚本宿主介绍
  10. 【数学期刊】世界著名数学期刊
  11. 企业邮箱被反垃圾邮件联盟封了的方法
  12. cocos2dx android工程接入联通Unipay sdk
  13. No suitable resolver
  14. 基于华为巴龙MH5000-31 5G工业/商业模组开发(二)
  15. SSM餐饮管理点餐系统
  16. cesium加载BIM模型
  17. 运动学习与控制 追加反馈
  18. 测试基础篇之(postman接口和Fiddler测试)
  19. linux ppoe,linux下连接windows2003 ppoe 服务器
  20. web前端-css中最直观的反馈-伪类及伪元素选择器的使用

热门文章

  1. 使用sealer-构建、交付、运行【kubernetes】-demo
  2. 目标常用跟踪算法——PF篇
  3. 【论文解析】Run, Don’t Walk: Chasing Higher FLOPS for Faster Neural Networks
  4. 经典<6D姿态估计算法>汇总
  5. 将所有的碎片信息放进去的结构 ,大大减轻大脑的负担,更容易地解决问题
  6. sequoiadb mysql_SequoiaDB 巨杉数据库
  7. postgreSQL触发器
  8. Codeforces 742A Arpa’s hard exam and Mehrdad’s naive cheat 打表+水题
  9. 机器学习评价指标AUC计算公式
  10. android 图解 PhotoView,从‘百草园’到‘三味书屋’!