时间:2021-05-26
我测试过很多遍,想要通过a标签的形式来直接点击url下载文件并重命名但是都失败了,最终只能下载却不能重命名 所以 换了java后台来修改名字.以下代码
我做的网页是点击文件直接下载
直接下载下来了,一开始的文件名是上传到oss时以id命名的名字,现在下载的时候想改名,遇到了问题,所以写了这篇博客
首先是后台代码
/** * 附件下载 * <p> * * @param param * @return ResponseDTO */ @PostMapping(value = "/download") public void downloadFile(@RequestParam Map<String, Object> 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代码
//下载和预览 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欢迎大佬指点
到此这篇关于Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法的文章就介绍到这了,更多相关vue 阿里云oss下载文件内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
项目中遇到了下载文件文件名是中文而且还有空格如果不对连接进行处理下载就会报错要想解决这个问题只需对你的url进行编码然后替换空格用编码表示复制代码代码如下://
我们可以使用ASP编写下载文件的源代码,可以隐藏文件名,识别不同的文件类型,通过修改后可以保存到数据库中。1024ThenFileInfo(0)=Round(F
vue将文件/图片批量打包下载各种格式都可以,只要url能够打开或者下载文件即可.1.通过文件的url,使用js的XMLHttpRequest获取blob2.将
护卫神云备份(阿里云版)是一款一套为方便广大用户管理阿里云OSS上的文件,如上传、下载、删除等操作,易用性很强,自主开发,完全免费,用于管理阿里云OSS上的文件
本文实例讲述了Python实现批量修改文件名的方法。分享给大家供大家参考。具体如下:下载了评书《贺龙传奇》,文件名中却都含有xxx有声下载,用脚本将其去掉。脚本