vue文件上传和下载_vue上传文件组件

vue文件上传和下载_vue上传文件组件Controller层上传@RequestMapping(“/uplaod”)@ResponseBodypublicRespBeanadd(@RequestParam(“file”)MultipartFilefile){//TODO处理上传的数据StringfileName=file.getOriginalFilename();StringcontentType=file.getContentType();lon

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

文件上传content-type:multipart/form-data

Vue端

多文件上传

let files = new FormData()
for (let i in this.fileList) { 
   
    files.append('files', this.fileList[i].raw)
}

下载

window.open(this.BASE_URL + '/download/' + id)

Controller层

上传

    @RequestMapping("/uplaod")
    @ResponseBody
    public RespBean add(@RequestParam("file") MultipartFile file) { 
   
    //TODO 处理上传的数据
    String fileName = file.getOriginalFilename();
    String contentType = file.getContentType();
    long size = file.getSize();
    
    }

下载

    @GetMapping("/download/{id}")
    @ResponseBody
    public void show(@PathVariable("id") String id, HttpServletResponse response) { 
   
        //TODO 获取需要下载的数据
        String contentType = null;
        String fileName = null;
        byte[] data = null;
        
        try { 
   
            response.setCharacterEncoding("UTF-8");
            response.setHeader("content-type", contentType + "; charset=utf-8");
            response.setContentType(contentType + ";charset=utf-8");
            response.setHeader("Content-Disposition", "attachment; filename=" + java.net.URLEncoder.encode(fileName, "UTF-8"));
            response.getOutputStream().write(data);
            response.getOutputStream().flush();
            response.getOutputStream().close();
        } catch (Exception e) { 
   
            e.printStackTrace();
        }
    }

获取resources目录下文件,部署可用。

@Autowired
ResourceLoader resourceLoader;

File file = resourceLoader.getResource("classpath:apk/ai.apk").getFile();

常见content-type

.apk:application/vnd.android.package-archive
.jpg:image/jpeg
.zip:application/zip
.docx:application/vnd.openxmlformats-officedocument.wordprocessingml.document
.mp4:video/mp4
.pdf:application/pdf
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/170641.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • phpstrom 2021.3激活码 3月最新注册码

    phpstrom 2021.3激活码 3月最新注册码,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • Vue响应式原理基本理解实现[通俗易懂]

    Vue响应式原理基本理解实现[通俗易懂]Vue响应式原理基本实现:注意:不要认为数据发生改变,界面跟着更新,是理所当然的.我们需要弄懂两个问题:1.修改Vue实例数据,vue内部是如何监听数据的改变?2.当数据发生改变,Vue是如何知道要通知那些界面发生刷新?问题一解决:根据Object.defineProperty来监听对象属性的改变Object.defineProperty基本使用#1.先创建一…

  • springBoot注解与分析

    springBoot注解与分析springBoot注解与分析

  • charles乱码怎么解决_抓包精灵ssl乱码

    charles乱码怎么解决_抓包精灵ssl乱码前言当使用Charles抓包时,发现数据都是乱码,这时需要安装证书解决办法1.点击charles窗口,点击左上角Help->SSLProxying→InstallCharles

  • request对象、response对象、session对象

    request对象、response对象、session对象仅仅是一些简单知识点的罗列,当做笔记,想具体学习的话,还是要找专业的书籍看看request对象作用:获取用户提供的信息语法:是实现了ServletRequest接口类的一个实例使用表单向服务器的某个JSP页面提交信息常用方法:设置编码方式:例如(用来防止汉字乱码)request.setCharacterEncoding(“gb2312”);同效果:Stringstr=r…

  • 常用放射性核素表_X射线核素的名称

    常用放射性核素表_X射线核素的名称常用放射性核素表原子序数及元素名称核素符号半衰期衰变类型括号内为每100次衰变中发生的次数主要带电粒子及其能量(MeV)括号内为平均100次衰变中发射的次数主要γ线能量(MeV)括号内为平均100

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号