restful get不传参数404_flask-restful编写上传图片api
Flask-RESTful是用于快速构建REST API的Flask扩展。我最近在使用Flask-Restful + Vue.js写一个轻量博客时有一个前端后端上传图片的需求。在Flask-Restful的官方文档中并没有相关的内容。下面是我谷歌查找资料的总结。
引入FileStorage
flask-restful
的参数解析中并没有文件类型,需要引入werkzeug.datastructures.FileStorage
作为参数解析中的类型。上传图片的资源api可以这样编写:
class UploadImg(Resource):def __init__(self):# 创建一个新的解析器self.parser = reqparse.RequestParser()# 增加imgFile参数,用来解析前端传来的图片。self.parser.add_argument('imgFile', required=True, type=FileStorage,location='files',help="imgFile is wrong.")def post(self):img_file = self.parser.parse_args().get('imgFile')# 保存图片img_file.save(img_file.filename)return 'ok', 201
FileStorage
这个类有很多的内置方法,这里使用了save
方法保存了图片,save
方法接受两个参数源码里面说明如下:dst
指定保存文件的name.
def save(self, dst, buffer_size=16384)::param dst: a filename, :class:`os.PathLike`, or open fileobject to write to.:param buffer_size: Passed as the ``length`` parameter of:func:`shutil.copyfileobj`.
完整代码
#!/usr/bin/env python
# encoding: utf-8
from flask_restful import reqparse, Resource, Api
from werkzeug.datastructures import FileStorage
from flask import Flaskclass UploadImg(Resource):def __init__(self):# 创建一个新的解析器self.parser = reqparse.RequestParser()# 增加imgFile参数,用来解析前端传来的图片。self.parser.add_argument('imgFile', required=True, type=FileStorage,location='files',help="imgFile is wrong.")def post(self):img_file = self.parser.parse_args().get('imgFile')img_file.save(img_file.filename)return 'ok', 201if __name__ == '__main__':app = Flask(__name__)api = Api(app)api.add_resource(UploadImg, '/uploadimg')app.run()
restful get不传参数404_flask-restful编写上传图片api相关推荐
- flask 上传excel 前端_flask-restful编写上传图片api
Flask-RESTful是用于快速构建REST API的Flask扩展.我最近在使用Flask-Restful + Vue.js写一个轻量博客时有一个前端后端上传图片的需求.在Flask-Restf ...
- restful get不传参数404_你知道什么是 Restful 风格吗?SpringMVC 带我们实现它!
Restful 风格的 API 是一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务器交互类的软件.基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓 ...
- sh执行文件 参数传递_sh 脚本执行sql文件传参数
一.前言 今天做数据删除,用的命令行输入参数,并且调用执行的sql文件,我采用了sed命令,进行替换. sh脚本如下 #! /bin/sh echo "Please enter the ba ...
- restful服务端客户端_测试RESTful服务的客户端
restful服务端客户端 开发使用RESTful Web API的应用程序可能意味着开发服务器和客户端. 为服务器端编写集成测试可以像使用Arquillian启动服务器一样容易,并且可以通过REST ...
- jsf 传参数_在JSF 2中对定制验证器进行参数化
jsf 传参数 在JSF 2中编写自定义验证器并不是一项复杂的任务. 您实现Validator接口,添加@FacesValidator批注,并在faces-config.xml中插入validator ...
- .net前台ajax,asp.net利用Ajax和Jquery在前台向后台传参数并返回值
1----------前台 首先需要 Jquer的包 下面是 $(function () { $('#txtUserName').blur(function () { var username = $ ...
- pytest接口测试之fixture传参数request
本文主要介绍了pytest接口测试之fixture传参数request的使用,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 前言 有的测试用例,需要依赖于某些特定的 ...
- Java中传参数--值传递和引用传递
** Java中传参数–值传递和引用传递 ** 在Java中,传参数分为值传递和引用传递. 在Java中的数据类型分为两大类:一类是引用类型,也叫类类型(除了String以外的所有复合数据类型,包括数 ...
- python中函数的参数:必传参数(位置参数)、默认值参数、参数组传参、关键字传参...
1.必传参数也叫做位置参数,因为必填,也必须对应位置 2.默认值参数如上图的word 3.参数组参数:传进去的是0个.或多个value的形式,,,和位置参数有点像,只传value值,但是没有限制个数 ...
最新文章
- JSP项目目录中每个文件夹及配置文件的作用
- python软件下载免费还是收费-为什么python最强大的IDE是收费的PyCharm?
- 黄哥漫谈Python 生成器
- 查看Hive SQL执行日志
- CodeForces - 1291D Irreducible Anagrams(思维+构造)
- junit可执行但控制层无法执行_Junit测试时ContextLoader.getCurrentWebApplicationContext()返回空值...
- 计算机c语言二级试题及答案,计算机c语言二级考试试题及其答案.doc
- swift 去json空格_数字货币为什么要去中心化?好处是什么?
- vue点击按钮之后置成不可用_Vue 动态改变 button 的 disabled 状态
- 21 个编程的热门/冷门趋势
- 【报告分享】2022中国人工智能人才培养报告.pdf(附下载链接)
- Python在使用pip安装某个库时报错 Could not find a version that satisfies the requirement numpy
- 无法打开配置文件vmx_如何解决Windows照片查看器无法显示此图片
- c 语言百度翻译软件,百度翻译api 实现简易微信翻译小程序
- 计算机老是重启进不了桌面,电脑无限重启进不桌面
- Dense biased networks with deep priori anatomy and hard region adaptation: Semi-supervised learning
- Dissect Eclipse Plugin Framework
- jsp 的ne 什么意思
- 【Spring教程】框架体系介绍
- 快速排序: 使用快速排序算法对数组进行排序
热门文章
- python程序设计实验配置_20181235 实验三《Python程序设计》实验报告
- python偏函数和高阶函数_Python高阶函数-偏函数
- 我爱Python的5个理由
- 开放源代码_您是否在开放源代码中看到了这些个性?
- 那一种笔记软件更好用_制作更好的面向用户软件的7种方法
- 着迷英语900句_开明的系统管理员如何让我着迷于Linux
- dreamhost 优惠码_DreamHost如何通过OpenStack重塑自己
- Dave和Gunnar采访Lauren Egts:Raspberry Pi,Scratch等
- (37)Gulp 文件清除
- JavaScript深度迭代遍历未知对象