记一次tornado框架python后端从web服务器下载文件过程


date 2020.7.21


Q:暂定的过程

用post方法,先前用的get,传body内文件名。

1、首先获取前端需要下载什么文件。
2、找到文件在服务器上面的路径。
3、将文件读进内存
4、将文件以流的方式写出

Q:下载的是文件名是download,而且没有后缀 但加了.mp4后缀后文件是正常的,但我要的文件带的是下载的是在服务器内的文件名,所以在这里找一下问题

self.set_header('Content-Disposition', 'attachment; file_name=%s' % video_id)

代码里,正确是filename 不是file_name,是没有下划线的

Q:Content-Type 问题

tornado.httputil.HTTPOutputError: Tried to write 29948634 bytes less than Content-Length

一般不是content-length的问题

我的是下载文件中文名导致的问题

加个encode(‘utf-8’) 可以解决这个问题,英文名文件没有问题,

但中文名文件下载下来还是没有后缀名,太难了!

django貌似有escape_url_path 但tornado不怎么熟悉 不知道用啥

Q: 在批量下载时,压缩文件名换成 时间+download.zip的形式,例如

video_name = time.strftime("%Y-%m-%d-%H:%M:%S-downloadvideo.zip", time.localtime())

这个用在

self.set_header('Content-Disposition', 'attachment; filename=%s' % video_name)

中时,会出现文件名 年月日 后面全部缺失的问题
暂时把冒号改成 ‘-’。

Q: postman测试下载大文件卡死的问题

换了网页的插件 类似restclient这种就没什么问题,内存也不会暴涨。

记一次python后端从web服务器下载文件相关推荐

  1. python 下载文件-python实现从ftp服务器下载文件

    #coding=utf-8 ''' ftp自动下载.自动上传脚本,可以递归目录操作 ''' from ftplib import FTP import os,sys,string,datetime,t ...

  2. dump文件分析工具_使用这个 Python 工具分析你的 Web 服务器日志文件 | Linux 中国...

    导读:这个 Python 模块可以以多种格式收集网站使用日志并输出良好结构化数据以进行分析. 本文字数:3262,阅读时长大约:4分钟https://linux.cn/article-12512-1. ...

  3. 服务器关闭重启后客户端socket能自动连接吗_用Python 撸一个 Web 服务器

    从一个 Hello World 程序说起 要编写 Web 服务器,需要用到一个 Python 内置库 socket.Socket 是一个比较抽象的概念,中文叫套接字,它代表一个网络连接.两台计算机之间 ...

  4. python实现一个web服务器

    一,使用python开启一个web服务器 自带的simple_server模块开启一个服务器: from wsgiref.simple_server import make_server #导入sim ...

  5. python批量下载文件只有1kb_Python 实现批量从不同的Linux服务器下载文件

    基于Python实现批量从不同的Linux服务器下载文件 by:授客 QQ:1033553122 实现功能 批量从不同的Linux服务器下载指定文件 测试环境 Win7 64位 Python 3.3. ...

  6. Python 实现批量从不同的Linux服务器下载文件

    基于Python实现批量从不同的Linux服务器下载文件   by:授客 QQ:1033553122 实现功能 1 测试环境 1 使用方法 1 1. 编辑配置文件conf/file_for_downl ...

  7. python批量下载网页文件夹_Python实现批量从不同的Linux服务器下载文件

    基于Python实现批量从不同的Linux服务器下载文件 by:授客 实现功能 批量从不同的Linux服务器下载指定文件 测试环境 Win7 64位 Python 3.3.2 pscp 64位 下载地 ...

  8. Java Web实现 使用浏览器从服务器下载文件

    Java Web实现 使用浏览器从服务器下载文件. 代码实现: package com.juneyaoair.util;import lombok.SneakyThrows;import javax. ...

  9. python自建局域网服务器传输文件

    python自建局域网服务器传输文件 1 python自带HTTP服务器 1.1 查找网络ip 1.2 从打开文件所在路径快速打开命令行/终端 1.3 使用Python自带的http.server 2 ...

最新文章

  1. Unicode转义(\uXXXX)的编码和解码
  2. java怎么获取文本里的值_怎么获取到text中的文本,或者title中的值
  3. 【做题记录】区间排序—线段树
  4. Django之model补充:一对多、跨表操作
  5. SQL Alias(别名)
  6. 构建jQuery对象(转)
  7. Qt实现Areo效果_vortex_新浪博客
  8. 将hta包装为exe发布
  9. jQuery源码系列(一)
  10. excel公式编辑器_办公软件操作技巧035:如何在excel中输入n次方
  11. 深度总结:软件设计七大原则
  12. 飞鸽传书2007绿色版EM为内部即时通讯
  13. 生活中笔记本内存的主要作用
  14. X射线检测系统技术行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  15. Redis的优点和缺点
  16. 何恺明组新论文:只用ViT做主干也可以做好目标检测
  17. APP开发之apicloud(一)
  18. 看看人家Java 集合处理/ 空值处理/ 异常处理多么优雅,一看就经验丰富!
  19. ssm + redis
  20. 2021年JS解决那些有趣的数学题

热门文章

  1. office移动端_微软office三合一与wps office对比测评:谁才是移动办公王者?
  2. Android 集成支付的四部曲
  3. String中截取部分内容
  4. 《逆向工程核心原理》精读——第11章视频讲座(破解Tut.ReverseMel.exe)
  5. 童年不止回忆,京东这波回忆杀帮你重新找回热血
  6. JAVA Scanner类的nextInt方法接收到非法输入问题
  7. 我在坑底的typescript手记之几种特殊的变量类型
  8. android+给视频加贴图,手机视频上贴图 安卓手机视频加贴图,用手机在视频画面加我爱你贴图...
  9. el-input只能输入数字,保留小数点俩位
  10. 使用 msconfig 工具阻止程序开机时自动启动