springboot vue批量下载文件,vue springboot图片上传

  springboot vue批量下载文件,vue springboot图片上传

  这篇文章主要为大家详细介绍了跳羚队实现文件上传下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  本文实例为大家分享了跳羚队实现文件上传下载的具体代码,供大家参考,具体内容如下

  一、文件上传(基于axios的简单上传)

  所使用的技术:axios、springboot、vue

  实现思路:通过h5:输入元素标签进行选择文件,获取所选选择的文件路径,新fromdata对象,设置fromdata的参数,设置爱可信对应的请求头,最后通过爱可信发送邮政请求后端服务。后端服务同过多文件进行文件接收。具体代码如下:

  前端代码:

  1、创建某视频剪辑软件对象

  从“vue”导入某视频剪辑软件

  从导入应用程序 App.vue

  从导入路由器。/路由器

  从导入存储。/商店

  从" axios "导入超文本传送协议(Hyper Text Transport Protocol的缩写)

  vue。配置。生产提示=假;

  Vue.prototype. $ http=http

  window.vm=new Vue({

  路由器,

  店,

  render: h=h(App)

  }).$ mount("# app ")

  2、实现上传组件

  在投入标签中添加改变事件监听,当发生改变时调用起来方法。

  模板

  你好

  投入

  class=file

  name=file

  type=file

  accept=image/png,image/gif,image/jpeg

  @change=up

  /

  /div

  /模板

  脚本

  导出默认值{

  名称:“HelloWorld”,

  道具:{

  消息:字符串

  },

  方法:{

  向上(e) {

  设file=e . target。文件[0];

  警报(文件。姓名);

  console.log(文件);

  let param=new FormData();//创建形式对象

  param.append(file ,file);//通过附加向形式对象添加数据

  控制台。日志(参数。get( file ));//表单数据私有类对象,访问不到,可以通过得到判断值是否传进去

  让配置={

  标题:{ Content-Type : multipart/form-data }

  };//添加请求头

  这个1000美元http。帖子( http://127。0 .0 .1:8081/数据/向上,参数,配置)。然后(响应={

  控制台。日志(响应。数据);

  }).接住(

  错误={

  警报(失败);

  }

  );

  }

  }

  };

  /脚本

  !-添加"限定范围"属性以将半铸钢钢性铸铁(Cast Semi-Steel)仅限制到此组件-

  样式范围语言=少

  /风格

  后端代码:

  上传文件代码

  @RequestMapping(value=/up ,method=RequestMethod .帖子)

  @ResponseBody

  公共结果字符串上传(@ request param( file )多部分文件file){

  尝试{

  log.error(开始上传!);

  字符串原始文件名=文件。get original filename();

  InputStream输入流=文件。getinputstream();

  string path= d:/2020 test/;

  文件file1=新文件(路径原始文件名);

  如果(!file1.getParentFile().exists()){

  file1.getParentFile().mkdirs();

  }

  文件。transferto(文件1);

  log.info(上传成功!);

  } catch (IOException e) {

  e。printstacktrace();

  }

  ResultString字符串结果=新结果字符串();

  字符串结果。setmsg( sue );

  字符串结果。setdata(“文件”);

  返回stringResult

  }

  二、文件下载

  通过反应输出流返回文件内容,核心代码设置下载文件的名字(RES . set header(" Content-Disposition "," attachmentfilename=" Java。网。URL编码器。编码(真实文件名。trim(),“UTF-8”));)

  @RequestMapping(value=/get ,method=RequestMethod .获取)

  公共空的下载文件(HttpServletResponse res) {

  字符串真实文件名= C:/Users/熊绎/桌面/12 .xls ;

  文件excelFile=新文件(真实文件名);

  RES . setcharacterencoding(" UTF-8 ");

  res.setHeader(content-type , application/octet-stream;charset=UTF-8 );

  资源设置内容类型(‘应用/八位字节流;charset=UTF-8 );

  //加上设置大小下载下来的。文件格式文件打开时才不会报“Excel已完成文件级验证和修复。此工作簿的某些部分可能已被修复或丢弃"

  //RES . add头( Content-Length ,字符串。(excelfile的值。length()));

  尝试{

  RES . set标头( Content-Disposition ,附件;filename= Java。网。URL编码器。编码(真实文件名。trim(), UTF-8 );

  } catch(UnsupportedEncodingException E1){

  E1。printstacktrace();

  }

  字节[]缓冲区=新字节[1024];

  BufferedInputStream bis=null

  输出流操作系统=空

  尝试{

  OS=RES . get输出流();

  bis=新缓冲区输入流(新文件输入流(新文件(真实文件名)));

  int I=bis。读(buff);

  而(我!=-1) {

  os.write(buff,0,buff。长度);

  OS。flush();

  I=bis。读(buff);

  }

  } catch (IOException e) {

  e。printstacktrace();

  }最后{

  如果(bis!=null) {

  尝试{

  之二。close();

  } catch (IOException e) {

  }

  }

  }

  ResultString字符串结果=新结果字符串();

  字符串结果。setmsg( sue );

  字符串结果。setdata(尼玛比);

  }

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

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: