修改form_Vue通过阿里云oss的url连接直接下载文件并修改文件名

我测试过很多遍,想要通过a标签的形式来直接点击url下载文件并重命名但是都失败了,最终只能下载却不能重命名 所以 换了java后台来修改名字.以下代码

3b7b3c0f55a1b898a1e22081da9c0a04.png

我做的网页是点击文件直接下载

8f5a18c3264c82e39353692380c2cf45.png

直接下载下来了,一开始的文件名是上传到oss时以id命名的名字,现在下载的时候想改名,遇到了问题,所以写了这篇博客

首先是后台代码

46f9b13421f9f2ab8fa9c2a9fde74474.png

/**     * 附件下载     *      *     * @param param     * @return ResponseDTO     */    @PostMapping(value = "/download")    public void downloadFile(@RequestParam Map param, HttpServletResponse response) throws Exception {        String url1 = param.get("url").toString();        URL url = new URL(url1);        URLConnection conn = url.openConnection();        InputStream inputStream = conn.getInputStream();        response.reset();        response.setContentType(conn.getContentType());            //纯下载方式 文件名应该编码成UTF-8        response.setHeader("Content-Disposition",                "attachment; filename=" + URLEncoder.encode(param.get("name").toString(), "UTF-8"));        byte[] buffer = new byte[1024];        int len;        OutputStream outputStream = response.getOutputStream();        while ((len = inputStream.read(buffer)) > 0) {            outputStream.write(buffer, 0, len);        }        inputStream.close();    }

代码里面的 url 需要事先 去阿里云获取,我因为前端上传的时候 获取到了url就直接传到后台用了.

前端vue代码

4264832bd5a58cd435f206143c86ecf6.png

 //下载和预览      handlePreview(file) {        if (file.type == 'png' || file.type == 'jpg') {          this.imageUrl = file.url;          this.imageDetail = true;        } else {          var form = document.createElement("form");          document.body.appendChild(form);          form.method = "post";          form.appendChild(this.generateHideElement('url',file.url));          form.appendChild(this.generateHideElement('name',file.name));          form.action = "接口地址"// 路由地址+接口地址          form.submit();        }      },      generateHideElement(name, value) {        var tempInput = document.createElement("input");        tempInput.type = "hidden";        tempInput.name = name;        tempInput.value = value;        return tempInput;      },

好了这就完了,很简单的一段代码, 我也是刚学vue欢迎大佬指点

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/572558.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

支付宝 报错 rsa_private read error : private key is NULL解决方法

原因: 真机调试IOS支付宝功能GDB出现 rsa_private read error : private key is NULL提示 调试iOS 支付宝SDK的时候,执行demo。把Partner(合作商户 ID)Seller(账户 ID)RSA public key(支付宝公钥)RSA private key(商户私钥)执行的时候,报错 rsa_private…

nasa注册_今天是黑洞星期五!

What is a black hole? A black hole is an astronomical object with a gravitational pull so strong that nothing, not even light, can escape it. A black hole’s “surface,” called its event horizon, defines the boundary where the velocity needed to escape e…

Sort List[leetcode] 由归并排序的递归和循环,到本题的两种解法

归并排序能够有两种思路----top-down 和 bottom-up top-down: 递归实现&#xff0c;将数组分成两半。分别处理。再合并。 伪代码例如以下&#xff1a; split ( A[], l, r) {if ( r - l < 2) return;m (r l) / 2;split ( A, l, m); //split A[l…m-1]split ( A, m, r); //s…

qcap 教程_高通平台抓取ramdump及使用qcap解析,ramdumpqcap

高通平台抓取ramdump及使用qcap解析&#xff0c;ramdumpqcap高通死机或者查找休眠问题可以通过ramdump来分析&#xff0c;具体步骤先确认下内核配置了CONFIG_MSM_DLOAD_MODE&#xff0c;并确认download_mode为1grep -rin CONFIG_MSM_DLOAD_MODE out/target/product/xxxxx/obj/K…

STM32学习笔记(五)——通用定时器计数延时

STM32定时器概述 STM32F40x系列总共最多有14个定时器&#xff0c;定时器分为三类&#xff1a;基本定时器、通用定时器和高级定时器。它们的都是通过计数来达到定时的目的&#xff0c;和51的定时器差不多&#xff0c;基本原理都是一样的&#xff0c;就是功能多了一些&#xff0c…

win10user文件夹迁移_Win10用户文件如何从系统盘转到其他盘

系统盘什么?就是放置Windows系统的硬盘。安装系统放在系统盘里&#xff0c;本身已经占了很大空间&#xff0c;可是用户文件也放在系统盘里。Win10如何把用户文件转移到非系统盘?下面就Win10消费者预览版Build9926为例&#xff0c;与大家分享一下把Win10用户文件移动到非系统盘…

第十九讲:职责链模式

public class CarBodyHandler extends CarHandler{Overridepublic void HandlerCar() {// TODO Auto-generated method stubSystem.out.println("组装车身");}} public abstract class CarHandler {public abstract void HandlerCar(); } public class CarHeadHandle…

十道解分式方程及答案_100道八年级分式方程及答案.

天.一辈子也打不完哪.再问&#xff1a; 50到吧再答&#xff1a; http://zhidao.baidu.com/question/238264424.html 个网址里面有一些&#xff0c;因为有字数限制&#xff0c;我不好发题目给你&#xff0c;所以你自己去看看吧。 例 解方程&#xff1a; (1)2xxx31; (2)15x215 x1…

四阶行列式直接展开_四阶行列式的完全展开式共有多少项

展开全部 共24项。 1.将该行列式前三列重复书写在该行列式的右边,可在前四列中作出两条对角线,然e5a48de588b662616964757a686964616f31333365663463后在此七列中作出相应的平行线,可得(图表一) 2.作乘积关系,可得如下八项: a11a22a33a44,a12a23a34a41,a13a24a31a42,a14a2…

c++ 返回智能指针_C++核心指南(17) I.11 禁止使用指针(T*)或引用(T)来转移所有权...

I.11: 永远不要使用原始指针(T*)或引用(T&)来转移所有权原因如果对调用者或被调用者是否拥有对象有任何疑问&#xff0c;就会发生泄漏或过早析构。示例考虑:X* compute(args) // 不要这样做 { X* res new X{}; // ... return res; }谁来删除返回的X&#xff1f;当compute返…

for-each循环

for-each循环又叫for增强循环&#xff0c;不需要下标就可以顺序的便历整个数组例如 package cn.hsop.fentian;public class Forxunhuan {public static void main(String[] args) {int[] num { 5, 8, 3, 6 };//定义数组int maxnum[0] ;//假设最大值//遍历数组for (int a : num…

mysql8.0.13 32位下载_MySQL8.0下载-MySQL数据库8.0下载 v8.0.11官方版(32位/64位)--pc6下载站...

mysql是一款数据库管理系统&#xff0c;mysql一般网站开发者或者数据库开发者会用到&#xff0c;mysql拥有体积小巧、读取和存储速度快的特点&#xff0c;新版本完全脱了MylSAM存储引擎&#xff0c;改善了扫描性能&#xff0c;同时还重构了sql分析器&#xff0c;赶快下载使用吧…

处理有外键约束的数据

mysql SET FOREIGN_KEY_CHECKS 0; delete from approval_info;delete from approval_manage;delete from site_message;delete from works;delete from works_theme;SET FOREIGN_KEY_CHECKS 1; oracle drop tablename no CONSTRAINT 还有一个本办法就是 一个一个的找到主…

mysql clickhouse_通过mysql操作clickhouse

mysql软件安装至少需要安装一个mysql客户端&#xff0c;即要有mysql这个命令&#xff1b;也可以直接安装一个mysql数据库&#xff0c;不用可以不启动&#xff1b;clickhouse服务端配置mysql端口vim /etc/clickhouse-server/config.xml9004修改服务器端配置&#xff0c;需要重启…

手游产品经理初探(三)产品中的玩家行为

国内做手游的团队非常多都是一大抄&#xff0c;但非常多时候我们都没有抄到核心的东西&#xff0c;所谓的形象神不象就是这样。那么我们来看一个案例&#xff1a;这个界面是big fish做的玩家送礼物的画面。我们知道在社交类的游戏里面这是一个非经常见的功能&#xff0c;但非常…

mysql shell 所有表_删除mysql数据库中所有表的shell脚本

分享一个可以删除mysql中所有表的shell脚本&#xff0c;代码如下&#xff1a;复制代码 代码示例:#!/bin/bash# 删除mysql中所有表# 示例&#xff1a;# Usage: ./script user password dbnane# Usage: ./script user password dbnane server-ip# Usage: ./script user password …

gbdt和xgboost中feature importance的获取

来源于stack overflow,其实就是计算每个特征对于降低特征不纯度的贡献了多少&#xff0c;降低越多的&#xff0c;说明feature越重要 Ill use the sklearn code, as it is generally much cleaner than the R code. Heres the implementation of the feature_importances proper…

mysql数据库服务器名_mysql数据库服务器名

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":6,"count":6}]},"card":[{"des":"云服务器 ECS(Elastic Compute Service)是一…

python基础01

1、python介绍及与其它开发语言比较&#xff1a; 相比C、Java运行慢&#xff0c;但是代码简介&#xff0c;可以减小学习成本&#xff0c;加快项目进度。跨平台&#xff0c;支持Linux和Windows。 C语言是所有高级语言的基础&#xff0c;若要研究python语言的原理&#xff0c;需要…

mysql中的删除语法错误_mysql – EXPLAIN中的SQL语法错误

我试图让一个解释命令在mysql中工作.我正在尝试解决此删除查询的性能问题&#xff1a;DELETE FROM boost_cache_relationshipsWHERE base_dir cache/normal/www.dane101.comAND page_callback nodeAND page_type storyAND page_id 2891;此查询是SHOW FULL PROCESSLIST命令的…