springMVC+jersey实现跨服务器文件上传

本文实例为大家分享了springMVC+jersey实现跨服务器文件上传的具体代码,供大家参考,具体内容如下

1.首先添加所需要的jar包

2.在springMVC的配置文件中添加文件上传解析器

<!-- 文件上传的解析器 -->
 <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
  <!-- 文件上传大小的限制 -->
  <property name="maxUploadSize" value="5000000"></property>
  <property name="defaultEncoding" value="UTF-8"></property>
</bean>

3.jsp页面

<form id="fm" action="" method="post">
 <p>
 <img src="" alt="" id="imgSrc"/>
 请上传头像:<input type="file" name="imgFile" id="imgFile" οnchange="fileUpload();"/>
 <input type="hidden" id="reletivePath" name="reletivePath" value="">
 </p>
</form>

4.文件上传的 js

 <!-- 文件上传js -->
<script type="text/javascript">
 function fileUpload(){
  var option = {
  type:"POST",
  url:"${pageContext.request.contextPath }/user/fileUpload.do",
  data:{
   fileName:"imgFile"
  },
  success:function(reData){
   alert(reData.reletivePath);
   $("#imgSrc").attr("height",100);
   $("#imgSrc").attr("width",100);
   $("#imgSrc").attr("src",reData.fullPath);
   $("#reletivePath").val(reData.reletivePath);
  },
  dataType:"json"
  };
  $("#fm").ajaxSubmit(option);
 }
</script>

5. controller

/*
 * 文件上传
 */
 @RequestMapping("fileUpload")
 public @ResponseBody Map<String , String> fileUpload(HttpServletRequest request,String fileName){
 System.out.println(111);
 //1.将普通请求转换为多部件请求
 MultipartHttpServletRequest mr = (MultipartHttpServletRequest)request;
 //2.根据文件名获取文件对象
 CommonsMultipartFile mf = (CommonsMultipartFile)mr.getFile(fileName);
 //3.获取文件全名称
 String originalFilename = mf.getOriginalFilename();
 System.out.println("文件全名称"+originalFilename);
 //4.获取后缀
 String suffix = originalFilename.substring(originalFilename.lastIndexOf("."));
 System.out.println("后缀"+suffix);
 //5.将文件对象转换为字节
 byte[] fileBytes = mf.getBytes();
 //6.获取新的随机文件名
 String newFileName="";
 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS");
 int num = (int)(Math.random()*899)+100;
 newFileName = sdf.format(new Date())+num;

 System.out.println("新的随机文件名"+newFileName);
 //开始上传
 //1.创建jesy服务器
 Client client = Client.create();
 String fullPath = "http://localhost:8088/fileServiceProject/upload/"+newFileName+suffix;
 //把文件关联到远程服务器
 WebResource wr = client.resource(fullPath);
 //2.相对路径
 String reletivePath = "/upload/"+newFileName+suffix;
 //3.上传
 wr.put(String.class, fileBytes);
 Map<String , String> map = new HashMap<String, String>();
 map.put("fullPath", fullPath);
 map.put("reletivePath", reletivePath);
 return map;
 }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • MyBatis与SpringMVC相结合实现文件上传、下载功能

    环境:maven+SpringMVC + Spring + MyBatis + MySql 本文主要说明如何使用input上传文件到服务器指定目录,或保存到数据库中:如何从数据库下载文件,和显示图像文件并实现缩放. 将文件存储在数据库中,一般是存文件的byte数组,对应的数据库数据类型为blob. 首先要创建数据库,此处使用MySql数据库. 注意:文中给出的代码多为节选重要片段,并不齐全. 1. 前期准备 使用maven创建一个springMVC+spring+mybatis+mysql的项目

  • 使用jQuery.form.js/springmvc框架实现文件上传功能

    使用的技术有jquery.form.js框架, 以及springmvc框架.主要实现异步文件上传的同时封装对象,以及一些注意事项. 功能本身是很简单的,但是涉及到一些传递参数类型的问题.例如:jquery的ajax方法与jquery.form.js中的ajaxSubmit方法的参数,具体细节将在下一篇博客中分享. 重点: html表格三要素: action="fileUpload/fileUpload" method="post" enctype="mul

  • SpringMVC 文件上传配置,多文件上传,使用的MultipartFile的实例

    基本的SpringMVC的搭建在我的上一篇文章里已经写过了,这篇文章主要说明一下如何使用SpringMVC进行表单上的文件上传以及多个文件同时上传的步骤 文件上传项目的源码下载地址:demo 一.配置文件: SpringMVC 用的是 的MultipartFile来进行文件上传 所以我们首先要配置MultipartResolver:用于处理表单中的file <!-- 配置MultipartResolver 用于文件上传 使用spring的CommosMultipartResolver -->

  • springMVC实现前台带进度条文件上传的示例代码

    项目框架采用spring+hibernate+springMVC如果上传文件不想使用flash那么你可以采用HTML5;截图前段模块是bootstarp框架;不废话直接来代码;spring-mvc配置文件;效果截图如下: 详细实现如下: 1.mvc-config.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/s

  • SpringMVC文件上传的配置实例详解

    记述一下步骤以备查. 准备工作: 需要把Jakarta Commons FileUpload及Jakarta Commons io的包放lib里. 我这边的包是: commons-fileupload-1.1.1.jar commons-io-1.3.2.jar 然后在spring-servlet.xml进行multipartResolver配置,不配置好上传会不好用. <bean id="multipartResolver" class="org.springfram

  • SpringMVC文件上传 多文件上传实例

    必须明确告诉DispatcherServlet如何处理MultipartRequest.SpringMVC中提供了文件上传使用方式如下配置xxx-servlet.xml,添加如下代码: 复制代码 代码如下: <bean id="multipartResolver"  class="org.springframework.web.multipart.commons.CommonsMultipartResolver">          <!-- 设置

  • springMVC + easyui + $.ajaxFileUpload实现文件上传注意事项

    在使用easyUI做前端样式展示时,遇到了文件上传的问题,而且是在弹出层中提交表单,想做到不刷新页面,所以选择了使用ajaxFileUpload插件.提交表单时一直发现后台接收不到文件,后检查发现,原来是文件的id不对. 文件上传框我们定义如下: <input class="easyui-filebox" id="image" name="image" data-options="label:'产品图片:',buttonText:

  • SpringMvc MultipartFile实现图片文件上传示例

    整理文档,搜刮出一个SpringMvc MultipartFile实现图片文件上传示例,稍微整理精简一下做下分享. spring-servlet.xml <!-- SpringMVC上传文件时,需要配置MultipartResolver处理器 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver&qu

  • springMVC配置环境实现文件上传和下载

    最近的项目中用到了文件的上传和下载功能,我觉着这个功能比较重要,因此特意把它提取出来自己进行了尝试. 下面就是springMVC配置环境实现文件上传和下载的具体步骤,供大家参考,具体内容如下 一. 基础配置: maven导包及配置pom.xml,导包时除开springmvc的基础依赖外,需要导入文件上传下载时用到的commons-io.jsr和commons-fileupload.jar: <project xmlns="http://maven.apache.org/POM/4.0.0&

  • jquery.form.js框架实现文件上传功能案例解析(springmvc)

    上一篇 Bootstrap自定义文件上传下载样式(http://www.jb51.net/article/85156.htm)已经有一段时间了,一直在考虑怎么样给大家提交一篇完美的逻辑处理功能.现在我结合自己的实际工作给大家分享一下. 使用的技术有jquery.form.js框架, 以及springmvc框架.主要实现异步文件上传的同时封装对象,以及一些注意事项. 功能本身是很简单的,但是涉及到一些传递参数类型的问题.例如:jquery的ajax方法与jquery.form.js中的ajaxSu

随机推荐