精华内容
下载资源
问答
  • 文档下载道客巴巴豆丁网原创力文档代下载Word PPT文件下载:备忘链接

    文档下载道客巴巴豆丁网原创力文档代下载Word PPT文件下载:备忘链接

    或者在这里留言,我看到就帮你们下载啦。

    展开全文
  • 文档下载功能 一、文档下载功能需求分析 1.功能 文档下载展示页 文档列表 文档下载 二、模型设计 1.字段分析 文件url 文件名 文件标题 简介 封面图片url 2.模型定义 # 在doc/models.py中定义如下模型 from ...

    文档下载功能

    一、文档下载功能需求分析

    1.功能

    • 文档下载展示页
    • 文档列表
    • 文档下载

    二、模型设计

    1.字段分析

    • 文件url
    • 文件名
    • 文件标题
    • 简介
    • 封面图片url

    2.模型定义

    # 在doc/models.py中定义如下模型
    from django.db import models
    
    from utils.models import BaseModel
    
    
    class Doc(BaseModel):
        """
       
    展开全文
  • 1.因为是文件下载,所以在取后台数据的时候,要多传递一个【responseType: ‘blob’】这个参数,是为了最后数据返回时response的data为【blob】文件格式(data: Blob {size: 22528, type: “application/vnd.ms-...

    后台返回文件流

    1.因为是文件流下载,所以在取后台数据的时候,要多传递一个【responseType: ‘blob’】这个参数,是为了最后数据返回时response的data为【blob】文件格式(data: Blob {size: 22528, type: “application/vnd.ms-excel”}),否则返回的数据只有文件流的结构体,不包含【blob】。
    下面为封装的获取后台文件流的方式

    function downloadPost (config){
      return new Promise((resolve,reject) => {
        axios({
            url: config.url,
            method: 'post',
            data: config.data,
            responseType: 'blob'
        }).then(res => {
          resolve(res)
        }).catch(err=>{
          reject(err);
        });
      });
    }
    

    2.将取回来的response直接返回到应用页,通过取到的response去实现文件流转换的制作。我是封装了一个方法,方便多处调用。如果不封装方法的话,直接将实现方法写在返回结果的地方就可以了
    下面是调用后台方法的写法

    downloadTemplate({responseType: 'arraybuffer'}).then(res=>{
        // 文件流转换成xls文件
        this.$utils.fileConversion("白名单导入模板.xls",res);
        this.$message({type:'success',message:'模板文件已开始下载!'});
    })
    

    下面是上面返回结果调用的【fileConversion】的写法

       /**
    	 * 字节流转换成文件下载
    	 * inputFileName:文件名
    	 * data:后台取得数据
    	 */
    	fileConversion(inputFileName,data){
    		let str = data.headers['content-disposition'];
    		// 文件名
    		let fileName = inputFileName;
    		let blob = new Blob([data.data], {
    			type:
    			"application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
    		});
    		if (window.navigator.msSaveOrOpenBlob) {
    			navigator.msSaveBlob(blob);
    		} else {
    			let elink = document.createElement("a");
    			elink.download = fileName;
    			elink.style.display = "none";
    			elink.href = URL.createObjectURL(blob);
    			document.body.appendChild(elink);
    			elink.click();
    			document.body.removeChild(elink);
    		}
    	},
    

    以上方法就可以实现后台返回文件流的文档转换了。
    需要注意的是,我是通过修改传递的文件名用来控制导出的格式,大家可以参考我的方法实现,如果有更好的方法欢迎评论~~
    下面配送控制方式:

    if(exportType == 1) {
        fileName = "白名单导出数据.xls"
    } else {
        fileName = "白名单导出数据.csv"
    }
    

    通过URL下载文件的话,其实后台请求封装与文件流是一样的,封装的话和文件流也是一样的,传递取回来的response和文件名,我就不一一粘代码了,可以参考上面的方式。(在这里小小备注一下:因为我没有亲测url的方式,所以可能会存在小问题,大家如果试了有什么问题,欢迎评论,我会慢慢修改的~~)
    奉上封装方法:

    /**
    	 * 从URL里下载文件
    	 * fileName:文件名
    	 * data:后台取得的数据
    	*/
    	// 下载文件
    	downloadFile (fileName,data) {
    		if (!data) { return }
    		let url = window.URL.createObjectURL(new Blob([data]))
    		let link = document.createElement('a')
    		link.style.display = 'none'
    		link.href = url;
    		link.setAttribute('download', fileName)
    		document.body.appendChild(link)
    		link.click()
    	},
    

    感谢阅读~~

    展开全文
  • Vue实现文件上传和文件下载

    万次阅读 多人点赞 2018-08-22 22:09:55
    文件下载文件下载通常有几种方法 1.通过url下载 2.location.href 3.form提交直接下载 4.HTML5 a.download结合blob对象进行下载 第一种方式: 第一种方法是前后端的接口只给了一个API请求: 前端第一个...

    文件下载:
    文件下载通常有几种方法
    1.通过url下载
    2.location.href
    3.form提交直接下载
    4.HTML5 a.download结合blob对象进行下载
    第一种方式:
    第一种方法是前后端的接口只给了一个API请求:
    前端第一个实现是使用a标签,

    第二种方式:
    这个方法是直接把 DataURLs 或者 BlogURLs 传到浏览器地址中触发下载。有两种方式:

    window.location.href = urls; // 本窗口打开下载
    window.open(urls, '_blank'); // 新开窗口下载
    

    第三种:
    标签的download是HTML5标准新增的属性,作用是指示浏览器下载URL而不是导航到URL,因此将提示用户将其保存为本地文件。
    这种是定义的接口不是下载文件的路径,而是通过API可以获得文件的内容,由前端把内容写入到文件中,这种方法是通过获取文件信息,在网页上利用click事件,创建一个文件,然后将文件信息写入到文件中,然后保存

          this.content = content
          this.filename = filename
          const blob = new Blob([this.content])
          if (window.navigator.msSaveOrOpenBlob) {
            // 兼容IE10
            navigator.msSaveBlob(blob, this.filename)
          } else {
            //  chrome/firefox
            let aTag = document.createElement('a')
            aTag.download = this.filename
            aTag.href = URL.createObjectURL(blob)
            aTag.click()
            URL.revokeObjectURL(aTag.href)
          }
    

    第四种form表单
    不需要我们处理返回二进制流直接下载,非常方便
    form的action设置为接口地址,method设置为post,Post到后台的数据设置为input的属性 name = key,value = value的形式,如果有多个key、value的值要传递,那么就设置多个input来分别储存单个的key、value;
    如果请求的接口可以不需要参数,那么input还是必须要一个,如果不要得话 会引起接口报错
    原理:form的action相当于一个浏览器本页签/页面的一个请求,不会被后台,前台的路由拦截。所以能够提交成功。

    注意点:如果设置method为get,在action中的uri添加了参数的话,想用这个参数替代input的key、value形式来提交到后台,这参数是没有效果的,后台拿不到这些参数,真正的参数还是以input的name、value的形式储存,在submit方法执行后传递到后台。
    这样我们就是实现了文件下载,但是表单提交的数据一般是简单的键值对,如果传参比较复杂可以考虑将表单序列化提交。

    因为项目是基于vue的,而且提交的请求参数涉及很多参数,比较复杂,所以采用了方法三来实现

          axios.post('/rest/inventory/oh_status/info/excel', {
            site: this.selectedsite,
            bu: this.selectedbu,
            ohHealthStatus: this.selectedtitle,
            ohHealthRootcause: this.selectedblock,
            search: this.search,
            sort: this.sort
          }, {responseType: 'arraybuffer'}).then(this.ExportFile).catch(function (error) {
            console.log(error)
          })
    
         this.content = content
          this.filename = filename
          const blob = new Blob([this.content])
          if (window.navigator.msSaveOrOpenBlob) {
            // 兼容IE10
            navigator.msSaveBlob(blob, this.filename)
          } else {
            //  chrome/firefox
            let aTag = document.createElement('a')
            aTag.download = this.filename
            aTag.href = URL.createObjectURL(blob)
            aTag.click()
            URL.revokeObjectURL(aTag.href)
          }
    

    注意我们发送请求的时候一定要写上responseType,{responseType: 'arraybuffer'} 否则下载下来的文件打不开!!!

    文件上传
    文件上传通常使用form表单,但是有时候我们不想要用表单,ES6的fromData来实现

        handleGetFile (data) {
          this.file = data
          let formdata = new FormData()
          formdata.append('file', this.file)
          formdata.append('submit', false)
          let config = {
            headers: {
              'Content-Type': 'multipart/form-data'
            }
          }
          axios.post('/rest/master_data/ct2r/odin_delivery_metrics/cvc/file_upload_review', formdata, config).then(this.sendFileSucc)
        },
    

    首先 我们获取完文件之后,创建FormData对象,配置头部,发送该请求就OK了,别忘了让后台将接收头部请求改为formdata的格式

    如果文件是图片或者视频的话,部分浏览器会直接打开,非下载,这个时候我们可以在下载链接 url 后面加上 ?response-content-type=application/octet-stream 这个参数可以实现点击下载功能。

    展开全文
  • 前端vue中文件下载的几种方式

    万次阅读 多人点赞 2019-04-03 10:05:23
    第一种方式是前端创建超链接,通过a标签的链接向后端服务发get请求,接收后端的文件流,非常简单: <a :href='"/user/downloadExcel"' >下载模板</a> 另一种情况是创建div标签,动态创建a标签: <...
  • 关于后台返回文档流的文件下载

    千次阅读 2018-12-21 18:01:29
    关于后台返回文档流的文件下载 &lt;template&gt; &lt;i @click="downLoad(data)" class="downLoad"&gt;下载&lt;/i&gt; &lt;/template&gt; //下载 downLoad...
  • 百度在线文档下载工具,针对有积分的百度文档进行下载,只要把文档地址复制到工具里,点击下载,来完成下载任务。
  • 1.下载相关的CHM文件,如:我下载的是jdk1.8帮助文档(中文版),需要的自行下载,我已保存到我的百度网盘了。 jdk1.8中文百度 密码: b574 jdk1.8中文谷歌 密码: maxn 注:个人建议下载谷歌版的,可以参考下方这...
  • 文件下载测试

    万次阅读 2019-06-04 13:36:59
    文件下载测试 开始测试前没有考虑文件里的内容会不会影响下载功能 结果1文件里的内容是数字时,可以正常下载 2文件里的内容是汉字时,下载失败 在链接地址的详情页面有下载按钮 如下图是附件信息的详情页面 ...
  • angular7中文件下载功能(图片、文档)

    千次阅读 2019-07-03 11:40:45
    在angular中实现文件下载功能,暂不支持pdf格式,因为pdf会直接预览 H5的下载方式: <!-- <td class="underline"><a [href]="item.URL" [download]="item.DocName">{{item.DocName}}</a></...
  • 在线文档下载神器

    2017-12-21 17:23:13
    在线文档下载神器,比如百度文档等,下载的文档直接转PDF格式
  • //安装文件下载地址     http://nchc.dl.sourceforge.net/sourceforge/staruml/staruml-5.0-with-cm.exe       //帮助文档下载地址   http://d.download.csdn
  • SpringBoot实现文件下载

    万次阅读 多人点赞 2019-04-18 20:33:58
    在写java 的文件下载的时候一直抛出异常 getOutputStream() has already been called for this response 抛出异常getOutputStream() has already been called for this response 直到使用了下面的方法: /** ...
  • * 文档下载(通过文档请求,直接下载文档) * url 请求路径 * fileName 下载名称 * size 文件大小 */ loadDown (url, fileName, size) { var _this = this var xhr = new XMLHttpRequest() xhr.open('GET',...
  • Layui文件下载

    万次阅读 多人点赞 2019-09-10 09:27:20
    三、相关工具类(省略...) 四、扩展:文件点击下载 模板下载 //下载模板 function downLoad() { var curWwwPath = window.document.location.href; var pathName = window.document.location.pathname; var pos = ...
  • 文件下载出现空白页或页面跳转,是因为直接用文件地址跳转window.open或者location.href这种方式会有页面跳转的情况出现。 下面看怎么解决这个问题 例子 方案一(推荐):用js触发<a>标签点击事件 var ...
  • java实现文件下载

    万次阅读 2019-07-07 09:45:31
    原理是使用java.io中的File类打开要下载文件,用输入流将文件读入系统,再将response中的输出流连接到系统,通过输入流和输出流进行文件下载。 在response的响应头中设置下载文件的文件名 /** * 下载文件 * @...
  • zeal离线文档下载教程

    千次阅读 热门讨论 2020-05-27 09:45:47
    下面重点介绍如何自己拼接zeal的文档下载地址。 2.1 查找要下载的离线文档的名称name值 下面的链接是通过抓包文件得到的,zeal在请求文档列表时的json数据。 link 从Zeal的Tools —> Available 里面找到自己要...
  • java web文件下载功能实现

    万次阅读 多人点赞 2014-09-20 17:38:54
    需求:实现一个具有文件下载功能的网页,主要下载压缩包和图片 两种实现方法:  一:通过超链接实现下载 在HTML网页中,通过超链接链接到要下载文件的地址 Insert title here 通过链接下载文件 压缩包 ...
  • 文档下载

    2018-11-04 14:12:53
    免费下载百度文库,豆丁等的文件,操作简单,下载的格式为pdf高清版,打印无压力
  • golang文件下载

    千次阅读 2016-11-18 14:47:25
    golang文件下载 func downloadFile(fileFullPath string, res *restful.Response) { file, err := os.Open(fileFullPath) if err != nil { res.WriteEntity(_dto.ErrorDto{Err: err}) return } defer ...
  • 其中一个页面里有文件下载的功能,参照现有的方法完成代码逻辑的编写,之后用postman做测试,发现这个文件下载的接口并不能正常使用 尝试解决问题 开始我以为是postman不支持从接口下载文件,于是写了测试页面,在...
  • csv文件下载

    千次阅读 2020-03-30 10:49:10
    CSV是一种通用的、相对简单的文件格式,被用户、商业和科学广泛应用。最广泛的应用是在程序之间转移表格数据,而...CSV文件下载 点击:百度网盘下载地址 链接:https://pan.baidu.com/s/1ars2J3KsmJoyx6njBk1y9A ...
  • 前言:最近写了一个文件下载的接口,我测试下能下载文件后就提交了到了生产,然后然后使用下载功能的小伙伴找到我说下载有bug,我明明修改了文件内容重新下载后还是以前的数据,吓得我赶紧去看代码,终于让我发现了...
  • 百度云网页下载文件总是提示跳转到百度云客户端下载,可是客户端下载很慢。我们可以拦截文件下载的地址,然后采用迅雷下载或者是采用idm下载。网上给出了很多教程,但是感觉还是说得不够详细,我这里放出一张详细...
  • 免费下载百度文库 百度文库收费文档下载方法
  • SpringMVC单文件上传、多文件上传、文件列表显示、文件下载,具体效果和过程看博文http://blog.csdn.net/evankaka/article/details/45826697
  • AutoCAD帮助文档下载

    千次阅读 2018-08-22 10:37:36
    AutoCAD帮助文档下载 AutoCAD2016: https://knowledge.autodesk.com/support/autocad/downloads/caas/downloads/content/download-install-autocad-2016-product-help.html
  • axios实现excel文件下载

    千次阅读 2018-11-08 18:15:08
    axios实现excel文件下载 功能:点击导出按钮,调用接口请求数据,下载excel文件。 没有token验证时,可以采用点击a标签的方式实现excel下载, &lt;a href="xxx"&gt;DOWNLOAD&lt;/a&gt; ...
  • 开发过程中遇到一个需求变动,主管要求网站在提供文件下载的时候不要使用 服务写流的形式(out.write)进行文件下载。需要改造成将文件生成到 文件服务器路径下,然后以http的形式直接进行文件访问、下载。 我想这个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,081,637
精华内容 1,632,654
关键字:

文件下载