flask 上传excel 前端_flask-restful编写上传图片api

be38e7df393fedf19bd4a2c20693d4a3.png

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()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/574667.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hibernate merge和update的区别

今天做了个测试,写了个测试用例来看看merge与update时控制台打印出来的日志有什么不一样。实体bean很简单,就id和name两个字段,接下来分别给出以下几种测试情形的控制台日志内容: 1. 数据库记录已存在,更改person的nam…

qdir 类似工具_qdir 类似工具_支持 Win8.1,全能资源管理器 Q-Dir 5.74 发布

Q-Dir是一款帮助用户管理本地文件和文档的工具。支持快速访问定位本地磁盘、网络驱动器、USB移动设备及其他存储设备中的文件或文档。依靠强大的Quadro-View技术,使得Q-Dir成为一款优秀的文件管理工具。Q-Dir文件管理软件特色:• 收藏夹:快速…

面试题:求所占字符

/* 在32位系统下&#xff0c;分别定义如下两个变量&#xff1a;char *p[10],char(*p1)[10],sizeof(p),sizeof(p1)分别值为___________。 */ #include <stdio.h> #include <stdlib.h>void main() {char *p[10],(*p1)[10],p2[10],p3;printf("%d,%d,%d,%d,%d,%d&…

mysql数据库函数转义函数_MySql数据库-查询、插入数据时转义函数的使用

最近在看一部php的基础视频教程&#xff0c;在做案例的时&#xff0c;当通过用户名查询用户信息的时候&#xff0c;先使用了转义函数对客户提交的内容进行过滤之后再交给sql语句进行后续的操作。虽然能看到转义函数本身的作用&#xff0c;但是仍然有一些疑惑。疑惑一&#xff1…

python pyquery安装_win7下python安装pyquery

安装pyquery之前首先要明确一点&#xff0c;easyinstall 是一款python包管理器&#xff0c;类似于node的npm&#xff0c;用于安装python的扩展包&#xff0c;它安装的包是以*.egg的方式。要安装pq需要经历以下步骤&#xff1a;1&#xff1a;下载easyinstall设置环境变量&#x…

DbContext 和ObjectContext两者的区别

一是ObjectContext是一种模型优先的开发模式&#xff0c;DbContext是代码优先的开发模式。这是两者最根本的区别。 同时两者之间可以相互转换&#xff1a; 下面给出转换的例子 1 DbContext转为ObjectContext using System.Data.Entity.Infrastructure ObjectContext context (…

mysql的简介与优点_SQL 简介以及MySQL的优点

原文摘自&#xff1a;W3school。还有一些是本人自己整理的SQL 是用于访问和处理数据库的标准的计算机语言。什么是SQL&#xff1f;SQL 指结构化查询语言SQL 使我们有能力访问数据库SQL 是一种ANSI的标准计算机语言注&#xff1a;ANSI&#xff0c;美国国家标准化组织SQL能做什么…

反射之关于MethodInfo的使用

1、MethodInfo类是在System.Reflection命名空间底下&#xff0c;既然是在Reflection空间底下。故名思议关于反射相关的操作&#xff0c;其中比较重要的方法是Invoke()方法&#xff0c;它是加载相同程序集的方法。简单用法 string command "AnnouncementSave"; //通过…

vue添加定位功能_Vue如何实现锚点定位功能?

整个链路应该是这样的&#xff0c;用户在消息中心中看到回复自己的信息&#xff0c;点进去后会跳到视频播放页面&#xff0c;页面url中会带上此次消息的replyId(就简称rid吧)&#xff0c;然后接下来的问题就是有两个&#xff0c;一个是评论本身是分页的&#xff0c;你的评论不一…

织梦直接往数据库写入数据

x: 不是必须的 1: 值为1 0: 值为0转载于:https://www.cnblogs.com/bushe/p/4425298.html

wshttpbinding java_WCF自定义用户账号密码之WCF系结模式wsHttpBinding的Java调用

再回到编辑Web服务属性设定画面﹐刚刚所点击的[使用开发默认值]的复选框如果已经有被勾选了﹐请将勾选取消。然后先离开编辑Web服务属性设定画面。1.7. 加入CallbackHandler 档案这里需要加入一个继承CallbackHandler的档案TrustStoreCallbackHandler.javapublic class TrustSt…

.jardesc文件

第一次导出jar文件的时候可以选择记录配置到一个这样的文件中&#xff1b;下次导出的时候&#xff0c;点这个文件->右键->创建jar(或双击)&#xff0c;就可以重新生成jar文件了转载于:https://www.cnblogs.com/erbin/p/4427997.html

java中postMethod_HttpClient结合PostMethod调用接口

解决方法&#xff1a;HttpClient client new HttpClient();PostMethod post new PostMethod("http://192.168.0.189:8500/short");post.addRequestHeader("Content-Type", "application/x-www-form-urlencoded;charsetutf-8");// 在头文件中设…

WPF 颜色转换

从字符串到画刷&#xff1a; var converter new System.Windows.Media.BrushConverter(); var brush (Brush)converter.ConvertFromString("#FFFFFF90"); Fill brush; 转载于:https://www.cnblogs.com/xpvincent/p/4431514.html

android指纹java_Android

Android M指纹的资料太少&#xff0c;经过一段时间阅读原生Android代码&#xff0c;写了以下例子&#xff0c;贡献出来给需要帮助的人。以下内容基于64位的高通CPU&#xff0c;搭载fpc1020芯片&#xff0c;此部分代码在原生android上做了更改&#xff0c;以应付工厂指纹的测试。…

about-ie下模拟input file上传功能失效

Q&#xff1a;IE9下file提交到iframe中&#xff0c;load一直不触发&#xff0c;其他高级浏览器均无此问题 解决方案&#xff1a;不使用js模拟 input click事件&#xff0c;取而代之的是把真实的input设置为要触发元素的大小&#xff0c;进行触发onchange原因分析&#xff1a;低…

java把收集的数据节点_java面试题收集(04)

1、rebbitmq的使用场景有哪些&#xff1f;(1)单发送单接受使用场景&#xff1a;简单的发送与接受&#xff0c;没有特别的处理。(2)单发送多接受使用场景&#xff1a;一个发送端&#xff0c;多个接收端&#xff0c;如分布式的任务发布&#xff0c;要保证消息发送的可靠性&#x…

go java gc_图解Golang的GC垃圾回收算法

虽然Golang的GC自打一开始&#xff0c;就被人所诟病&#xff0c;但是经过这么多年的发展&#xff0c;Golang的GC已经改善了非常多&#xff0c;变得非常优秀了。以下是Golang GC算法的里程碑&#xff1a;v1.1 STWv1.3 Mark STW, Sweep 并行v1.5 三色标记法v1.8 hybrid write bar…

统计学的经典书籍指南 (转载自:http://blog.csdn.net/ysuncn/article/details/1943679)...

一、统计学基础部分 1、《统计学》 David Freedman等著&#xff0c;魏宗舒&#xff0c;施锡铨等译 中国统计出版社 据说是统计思想讲得最好的一本书&#xff0c;读了部分章节&#xff0c;受益很多。整本书几乎没有公式&#xff0c;但是讲到了统计思想的精髓。 2、《Mind on …

Linux Bash Shell j简单入门

BASH 的基本语法 最简单的例子 —— Hello World! 关于输入、输出和错误输出 BASH 中对变量的规定&#xff08;与 C 语言的异同&#xff09; BASH 中的基本流程控制语法 函数的使用 2.1 最简单的例子 —— Hello World! 几乎所有的讲解编程的书给读者的第一个例子都是 …