服务端

    def post(self, *args, **kwargs):
# content_type
# filename
# body
file_data=self.request.files
if file_data:
if 'file' in file_data:
if len(file_data['file']) ==1:
filename=file_data['file'][0]['filename']
content_type=file_data['file'][0]['content_type']
body=file_data['file'][0]['body']
my_dir = os.path.join(os.path.dirname(__file__), '..', 'log', 'vulnerability_database')
try:
if os.path.isdir(my_dir) is False:
os.makedirs(my_dir)
my_file = os.path.join(os.path.dirname(__file__), '..', 'log', 'vulnerability_database',filename)
with open(my_file,'wb') as f:
f.write(body)
except Exception as e:
msg_ret = self.get_response('error', '%s 写入失败'%(filename), [])
self.write(msg_ret)
return
ret_msg = writexml(self, filename)
self.write(ret_msg)
return
else:
msg_ret = self.get_response('error', '只能传一个文件', [])
self.write(msg_ret)
else:
msg_ret = self.get_response('error', '没有找到file', [])
self.write(msg_ret)
else:
msg_ret = self.get_response('error', [], [])
self.write(msg_ret)

  

客户端

import os
# my_file='/Users/xxx/Desktop/2019-08-26_2019-09-01.xml'
my_file='/Users/xxx/Desktop/logo/1.png'
url = 'http://127.0.0.1:7101/xx/xx'
files = {'file': open(my_file, 'rb')}
ret=requests.post(url,files=files)
print(ret.text)

  

tornado 文件上传的更多相关文章

  1. 基于tornado的文件上传demo

    这里,web框架是tornado的4.0版本,文件上传组件,是用的bootstrap-fileinput. 这个小demo,是给合作伙伴提供的,模拟APP上摄像头拍照,上传给后台服务进行图像识别用,识 ...

  2. tornado上传大文件以及多文件上传

    tornado上传大文件问题解决方法 tornado默认上传限制为低于100M,但是由于需要上传大文件需求,网上很多说是用nginx,但我懒,同时不想在搞一个服务了. 解决方法: server = H ...

  3. 第二百七十三节,Tornado框架-文件上传

    Tornado框架-文件上传 第一.普通表单上传文件 self.request.files["fafafa"] 获取上传文件信息,参数["上传文件框的name名称&quo ...

  4. tornado结合前端进行文件上传

    在表单中我们获取用户提交的数据,使用的是get_argument,复选框使用的是get_arguments,但是文件的不一样,文件的使用request.files. form文件上传 html代码: ...

  5. Django之三种文件上传

    方式一: 通过form表单提交到后台 前端: <!DOCTYPE html> <html lang="en"> <head> <meta ...

  6. python django + js 使用ajax进行文件上传并获取上传进度案例

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. 服务器文档下载zip格式 SQL Server SQL分页查询 C#过滤html标签 EF 延时加载与死锁 在JS方法中返回多个值的三种方法(转载) IEnumerable,ICollection,IList接口问题 不吹不擂,你想要的Python面试都在这里了【315+道题】 基于mvc三层架构和ajax技术实现最简单的文件上传 事件管理

    服务器文档下载zip格式   刚好这次项目中遇到了这个东西,就来弄一下,挺简单的,但是前台调用的时候弄错了,浪费了大半天的时间,本人也是菜鸟一枚.开始吧.(MVC的) @using Rattan.Co ...

  8. jquery.uploadify文件上传组件

    1.jquery.uploadify简介 在ASP.NET中上传的控件有很多,比如.NET自带的FileUpload,以及SWFUpload,Uploadify等等,尤其后面两个控件的用户体验比较好, ...

  9. 11、Struts2 的文件上传和下载

    文件上传 表单准备 要想使用 HTML 表单上传一个或多个文件 须把 HTML 表单的 enctype 属性设置为 multipart/form-data 须把 HTML 表单的method 属性设置 ...

随机推荐

  1. 无法打开“Visual Studio Code”,因为Apple无法检查其是否包含恶意软件。”的问题解决

    解决方法: 1.系统偏好设置==> 安全性与隐私 ===> 在下方允许就可以了. 2.一劳永逸 但是注意安全性 打开terminal 命令行工具输入命令:sudo spctl --mast ...

  2. java链接集合

    Intellij IDEA 导入eclipse web 项目详细操作 https://blog.csdn.net/deng11408205/article/details/79723213?utm_s ...

  3. postman---postman发送请求

    前面简单的介绍了Postman的页面介绍和功能介绍,今天我们一起学习postman如何发送请求 发送请求 我们介绍过http协议有多种请求方式,各个请求方法都代表不同的结果.例如,GET使您可以从服务 ...

  4. C++:map用法及元素的默认值

    C++:map用法 一.map基本用法 键值对 第一个参数为键的类型,第二个参数为值的类型. 源代码 #include <iostream> #include <string> ...

  5. Appium自动化WebView中元素的操作

    在App开发过程中,很容易用到第三方的WebView控件,这个属于移动端混合型App.在我们做自动化测试的过程中,就要对这种情况进行处理,最通用的办法就是先将appium切换到webview模式然后按 ...

  6. <DP> (高频)139 375 374 (DP hard)312

    139. Word Break 返回结果较为简单可用dp, 复杂用dfs class Solution { public boolean wordBreak(String s, List<Str ...

  7. SLAM中的非线性优化

    总结一下SLAM中关于非线性优化的知识. 先列出参考: http://jacoxu.com/jacobian%E7%9F%A9%E9%98%B5%E5%92%8Chessian%E7%9F%A9%E9 ...

  8. PHP常用数字函数以及排序函数

    一:数字函数 .ceil() 进一取整 示例:ceil(0.9) 结果为1 .abs() 绝对值 示例:abs(-1) 结果为1 .rand() 随机数 示例:rand(1. 100) 1到100 以 ...

  9. 周董新歌搞崩QQ,抓取20W评论看看歌迷在说啥

    9 月 16 日晚间,周董在朋友圈发布了最新单曲<说好不哭> 发布后,真的让一波人哭了 一群想抢鲜听的小伙伴直接泪奔 因为 QQ 音乐直接被搞崩了 没想到干翻 QQ 音乐的不是网易云音乐 ...

  10. PostgreSQL CentOS 7 安装配置

    https://www.postgresql.org/download/ 选择相应的版本 安装完成后,稍微配置下,否则无法远程访问: cd /var/lib/pgsql/11/data vi post ...