python - Web.py POST StringIO 用PIL打开
大家讲道理
大家讲道理 2017-04-17 14:56:36
[Python讨论组]

POST发送数据:

python# encoding:utf-8
import requests
from StringIO import StringIO

img = open('test.jpg').read()
img = StringIO(img)
files = {'img': img}
baseUrl = r'http://localhost:8080/test'
requests.post(baseUrl, files = files)

在web.py里

pythonimport web
from PIL import Image
urls = ('/test', 'Test')

class Test:

    def GET(self):
        pass
    def POST(self):
        data = web.input()
        # 如何用PIL打开获取来的StringIO?
        img = Image.open(StringIO(data.img)) # 报错

线谢谢各位了。

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

全部回复(2)
怪我咯

upload.py

import requests

r = requests.post('http://127.0.0.1:8080/upload', files={
    'img': open('test.png', 'rb')
})
print r.text

main.py (儲存圖片到指定路徑並另存縮圖)

# -*- coding: utf-8 -*-
import uuid
import re
import web
from PIL import Image

urls = {
    '/upload', 'Upload'
}


class Upload:
    def __init__(self):
        self.upload_dir = "./upload"

    def GET(self):
        pass

    def POST(self):
        data = web.input(img={})

        if 'img' in data:
            filepath = data.img.filename.replace('\\', '/')
            extension = filepath.rsplit(".", 1)[1]
            extension = re.sub("[^a-zA-Z0-9]", "", extension).lower()
            filename = str(uuid.uuid4()) + "." + extension
            fout = open(self.upload_dir + '/' + filename, 'w')
            fout.write(data.img.file.read())
            fout.close()

            self.thumbnail(filename)
            return "ok"

    def thumbnail(self, filename):
        img = Image.open(self.upload_dir + '/' + filename)
        img.thumbnail((256, 256))
        img.save(self.upload_dir + '/thumbnail/' + filename)


if __name__ == "__main__":
    app = web.application(urls, globals())
    app.run()
巴扎黑

你得把报的具体错误贴上来。
不看错误内容就来问。。。有时候可能是个很简单的错误,比如在接收post过来的参数的时候data.files.img写成了data.img之类的

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号