首页 > 技术文章 > flask上传图片或者文件

lgh344902118 2017-11-13 10:44 原文

在flask unittest自动化测试中如何上传图片或者文件

        import StringIO
        picture = StringIO.StringIO(open('/home/admin/Pictures/test.jpg', 'rb').read())
        data = dict(
            {'picture': (picture, 'test.jpg')},
            timestamp=self.timestamp,
            check = check,
        )
        base_url = '/uploadPhoto'
        rv = self.app.post(base_url, data=data, headers=HEADERS, )
        print rv.data

上传文件也是一样额,把picture改为文件内容即可

flask表单上传图片

上传单张

html代码

<input type="file" id="pic" name="pic"/>

flask代码

from flask import request

pic = request.files.get('pic')
#最好用flask的secure_name检查文件扩展名
pic.save()
#二进制数据
pic.stream

同时上传多张

html代码 只是加了个multiple

<input type="file" id="pic" name="pic" multiple/>

flask代码

from flask import request

pics = request.files.getlist('pic')
for pic in pics:
    #最好用flask的secure_name检查文件扩展名
    pic.save()
    #二进制数据
    pic.stream

 

推荐阅读