精华内容
下载资源
问答
  • 因为公司用的分布式文件系统上传文件后返回的是 http文件路径,当文件是图片是,用a标签下载会直接打开而不是下载,所以找了下怎么通过浏览器下载远程服务器上的图片。网上大部分都是后台代码,现在把前端后台一起...

    因为公司用的分布式文件系统上传文件后返回的是 http文件路径,当文件是图片是,用a标签下载会直接打开而不是下载,所以找了下怎么通过浏览器下载远程服务器上的图片。网上大部分都是后台代码,现在把前端后台一起整合一下。

    @RequestMapping(value = "/core/downloadNet")
    public void downloadNet(HttpServletResponse response,HttpServletRequest request,String url) throws MalformedURLException {
     
        String filename="二维码.JPEG";
        //获取浏览器用户代理
        String agent=request.getHeader("User-Agent");
        try {
            //根据浏览器不同处理文件名防止中文乱码
            if(agent.contains("MSIE")){
                filename=URLEncoder.encode(filename,"utf-8");
                filename=filename.replace("+"," ");
            }else if(agent.contains("Firefox")){
                BASE64Encoder base64Encoder=new BASE64Encoder();
                filename="=?utf-8?B?"+base64Encoder.encode(filename.getBytes("utf-8"))+"?=";
            }else{
                filename=URLEncoder.encode(filename,"utf-8");
            }
            //设置文件头:最后一个参数是设置下载文件名
            response.setHeader("Content-Disposition","attachment;filename="+filename);
            //设置文件ContentType类型,这样设置,会自动判断下载文件类型
            response.setContentType("application/multipart/form-data");
            URL fileUrl = new URL(url);
            URLConnection conn = fileUrl.openConnection();
            ServletOutputStream out = response.getOutputStream();
            int BUFFER = 1024*10;
            byte data[] = new byte[BUFFER];
            BufferedInputStream bis = null;
            //获取文件输入流
            InputStream fis = conn.getInputStream();
            int read;
            bis = new BufferedInputStream(fis,BUFFER);
            while((read = bis.read(data)) != -1){
                out.write(data, 0, read);
            }
            fis.close();
            bis.close();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    前端要用from表单请求,不能用ajax请求

    function dowloadPic(){
    //这里就是远程服务器上的文件路径
        let urls=$("#qrUrl").attr("src");
        var url = "/core/downloadNet.do";
        var fileName = "testAjaxDownload.txt";
        var form = $("<form></form>").attr("action", url).attr("method", "post");
        form.append($("<input></input>").attr("type", "hidden").attr("name", "url").attr("value", urls));
        form.appendTo('body').submit().remove();
    }
    
    展开全文
  • 近日在某页面上使用模拟a标签下载文件,发现在有的部署站点直接弹出下载,有的站点则直接打开该文件,后发现跟被下载的文件地址有关系,当使用域名开头的地址时弹出下载,使用IP开头的地址则直接打开。...

    近日在某页面上使用模拟a标签下载文件,发现在有的部署站点会直接弹出下载,有的站点则会直接打开该文件,后发现跟被下载的文件地址有关系,当使用域名开头的地址时会弹出下载,使用IP开头的地址则会直接打开。

    展开全文
  • a标签实现文件、图片下载 a标签实现文件或图片下载只需要设置 download="" 属性即可,该属性的值可以为空,如果设置值,则该值就将是文件下载的默认名字。 <a herf="文件或图片路径" download="值可以不填,如果...

    a标签实现文件、图片下载

    a标签实现文件或图片下载只需要设置 download="" 属性即可,该属性的值可以为空,如果设置值,则该值就将是文件下载的默认名字。

    <a herf="文件或图片路径" download="值可以不填,如果填上就是文件的默认名字" >文件下载</a>
    

    注意:
    1、a标签实现文件下载需要在根页面,如果嵌套在iframe内是无效的!
    2、具有同源限制,本地测试使用网络图片是不能实现下载的!

    a标签实现打开新窗口

    a标签实现打开新窗口只需设置 target="view_window" 属性即可

    <a herf="需要打开的页面路径" target=“view——window”>打开新窗口</a>
    
    展开全文
  • 当下载文件中存在jpg、txt等浏览器可以直接预览的文件时,上面的方法就出现问题,即使加了download仍然在浏览器中打开下载文件 我们可以将下载地址借助Blob转换成二进制,然后,作为a标签的href属性,配合...

    当下载文件中存在jpg、txt等浏览器可以直接预览的文件,使用a标签即使加了download仍然会在浏览器中打开下载文件
    我们可以将下载地址借助Blob转换成二进制,然后,作为a标签的href属性,配合download属性,实现下载。
    具体实现代码如下:
    Vue.directive('down', {
      inserted: (el, binding) => {
        el.style.cssText = 'cursor: pointer;color:write;'
        el.addEventListener('click', () => {
          console.log(binding.value)
          let link = document.createElement('a')
          let url = baseDownloadUrl + binding.value
          // 这里是将url转成blob地址,
          fetch(url).then(res => res.blob()).then(blob => { // 将链接地址字符内容转变成blob地址
            link.href = URL.createObjectURL(blob)
            console.log(link.href)
            link.download = ''
            document.body.appendChild(link)
            link.click()
          })
        })
      }
    })


    Vue页面中使用指令v-down

    <span v-down="url">下载</span>
     

    展开全文
  • a href download 此方法只能用于同一个域名的文件资源下载 跨域或者三方平台的特殊资源图片(比如 微信公众号资源图片)总是会打开资源,而非下载! <a href="/images/logo.png" download="下载资源名称"> ...
  • 实现: a标签实现文件下载,是使用的相对路径下载。 js代码 a class="btn btn-success btn-sm" href="../docs/doc/" title="下载" mce_href="#">i class="fa fa-arrow-circle-down">i>a> 这样用户在点击这个...
  • 利用a标签下载图片

    千次阅读 2020-07-20 19:31:28
    其实就是运用a标签的download属性,href就是图片的地址 import React, { useState } from 'react' import './index.scss' import fly from '../../api/flyio' /** * type, 7:职位详情的分享 */ export default...
  • 前段时间在项目中遇到文件需要下载,直接拿出了之前封装的下载指令,在用的时候发现在下载jpg、txt文件时,并不直接下载,而是在浏览器中打开文件,即使给a标签添加了download 属性,也无济于事。 我先把之前...
  • a标签下载图片及js执行下载图片

    万次阅读 2018-07-28 10:53:26
    原因: ...我发现href的值是网络地址就是添加了download属性还是直接打开图片而不是直接下载,只有写成相对地址添加了download属性才执行下载,但是存在兼容性问题 如下: &lt;a href="...
  • a标签点击浏览器下载图片,不打开

    千次阅读 2019-01-16 11:48:00
    网上好多给a标签加download属性的,但都不好使。 <!doctype html> ®"> <title>Document .box{border: 1px solid black;padding:0 10px;} img{width:200px;} <!--创建一个cavas ...
  • 前言 :在使用a标签下载图片,很多浏览器默认直接打开网页,而不是下载本地,今天我们就来解决这个问题吧 1、错误写法 虽然加上了download属性,但是依旧无法实现图片下载,这是因为很多浏览器能够识别图片...
  • a标签实现下载图片功能

    万次阅读 2018-03-15 16:33:10
    下载 a标签的href属性用于指定超链接目标的 URL,只是能在新页面打开图片 要想实现a标签点击下载图片功能,只需加个download属性
  • 一般 a 标签下载文件的方式都是加download属性。但是对于图片下载来说,加了download的属性有时起作用,有时不起作用。 1.如果不是远程图片,可以下载,参考...
  • a标签href是链接 直接打开了而不是下载,怎么才能让他下载呢,不用后台可以吗 <a href="" id="upda"><img id="ooo" src="" style="position:absolute;top:50px;left:700px" /></a> a标签的...
  • 一般的文件可以直接使用链接进行下载,但图片、pdf等可以直接打开的文件只预览,不会直接下载。 在网上找了很多解决办法(应该是跨域导致的): 如: <a href="javascript:void(0)" download onclick="d
  • vue中如何用a标签打开本地图片

    千次阅读 2018-11-16 09:54:47
    vue中如何用a标签打开本地图片vue中如何用a标签打开本地图片扯点废话最后 vue中如何用a标签打开本地图片 不知道各位有没有遇到希望在vue中点击一下a标签打开本地图片这种情况。话说,看到这篇博客的话应该是遇到...
  • a href='/UploadFiles/Photos/SP\XS1811803\c2ea42a22327409eb6e3bf44841a8696.jpg' download='我的图片.jpg'>下载</a> <a href='/UploadFiles/Photos/SP\XS1811803\c2ea42a22327409eb6e3bf44841a...
  • ![图片说明](https://img-ask.csdn.net/upload/201908/07/1565163468_433783.png) 不用a标签 用js怎么完成当前页面文件的下载 而不是打开
  • 实现: a标签实现文件下载,是使用的相对路径下载。 js代码 <a class="btn btn-success btn-sm" href="../docs/doc/" title="下载" mce_href="#"><i class="fa fa-arrow-circle-down"></i></...
  • 针对这种情况,我们只需要在a标签上加上download属性即可显示下载框。 download属性可以不填值,他默认就是下载链接的文件,也可以自己填上文件名。 html如下: <a href="../download/file/${fileInfoBe.....
  • 点击a标签下载当前链接的图片

    千次阅读 2018-12-05 10:28:35
    若想点击a标签下载当前链接的图片,首先必须文件是同源的,在a标签上增加download属性,才能触发点击下载的效果,若不同源的话则变成在当前页面打开图片了。 若想要下载不同源的文件,有一种思路是将图片转为...
  • 使用a标签直接下载图片

    千次阅读 2016-04-21 15:53:00
    通常情况下,使用a标签链接到图片在浏览器中打开这个图片,而不会下载 如果要直接下载这个图片,可以使用download属性配合href属性 <a href="./1.jpg" download="./1.jpg">下载图片</a> *必须要...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 121,911
精华内容 48,764
关键字:

a标签下载图片会打开