亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

python怎么在上傳圖片后壓縮圖片大小

瀏覽:74日期:2022-07-16 10:24:39

問(wèn)題描述

我用的是flask框架,圖片處理用的是pillow。

一般上傳都是在循環(huán)files,然后逐個(gè)file.save()我希望在save完成后,執(zhí)行pillow的壓縮邏輯。

但是似乎save是一個(gè)I/O操作,存在延遲性,如果直接在file.save()下面直接調(diào)用pillow的Image.open,會(huì)出錯(cuò),因?yàn)閳D片數(shù)據(jù)還沒(méi)有寫(xiě)入圖片。

咋辦?

問(wèn)題解答

回答1:

def save(self, dst, buffer_size=16384):'''Save the file to a destination path or file object. If thedestination is a file object you have to close it yourself after thecall. The buffer size is the number of bytes held in memory duringthe copy process. It defaults to 16KB.For secure file saving also have a look at :func:`secure_filename`.:param dst: a filename or open file object the uploaded file is saved to.:param buffer_size: the size of the buffer. This works the same as the `length` parameter of :func:`shutil.copyfileobj`.'''from shutil import copyfileobjclose_dst = Falseif isinstance(dst, string_types): dst = open(dst, ’wb’) close_dst = Truetry: copyfileobj(self.stream, dst, buffer_size)finally: if close_dst:dst.close()

你看save操作不是異步的吖

更新

copyfileobj是個(gè)阻塞操作

https://github.com/pallets/we...

回答2:

其實(shí)這類(lèi)圖片處理,直接使用阿里云的OSS或者七牛等類(lèi)似的存儲(chǔ)功能更好,直接將圖片上傳到OOS中,然后調(diào)用特別的后綴進(jìn)行指定的圖片處理,未來(lái)也訪(fǎng)問(wèn)OSS上處理后的地址。這樣既可以規(guī)避用自己服務(wù)器處理圖片的負(fù)荷,而且也降低了訪(fǎng)問(wèn)的壓力,對(duì)于降低程序的復(fù)雜度也是大有好處的。

回答3:

樓主看看Image.open 的fp參數(shù),也可以A filename (string), pathlib.Path object or a file object PIL.Image.open(fp, mode=’r’)

你直接傳file給Image.open(file)就可以了吧!

PIL.Image.open(fp, mode=’r’)Opens and identifies the given image file.This is a lazy operation; this function identifies the file, but the file remains open and the actual image data is not read from the file until you try to process the data (or call the load() method). See new().Parameters: fp – A filename (string), pathlib.Path object or a file object. The file object must implement read(), seek(), and tell() methods, and be opened in binary mode.mode – The mode. If given, this argument must be “r”.Returns: An Image object.Raises: IOError – If the file cannot be found, or the image cannot be opened and identified.

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 美女一级一级毛片 | 黄色影院视频 | 久久综合综合 | 亚洲不卡视频在线观看 | 精品无人区一区二区三区a 精品无码一区在线观看 | 久久er精品 | 日韩欧美一区二区在线观看 | 澳门久久精品 | 国产一区在线免费观看 | 亚洲一区二区三区首页 | 亚洲精品色 | 中文字幕日韩哦哦哦 | 中文字幕 日韩在线 | 天天套图 | 91麻豆影视 | 成人在线免费观看视频 | 亚洲欧美另类国产综合 | 国产美女在线看 | 午夜一区二区在线观看 | 日韩大尺度无遮挡理论片 | 欧美日韩一级片在线观看 | 搡的我好爽视频在线观看 | 欧美另类videosbestsex久久 | 国产日韩欧美视频 | 鸥美黄色片 | 黄色网免费 | 亚洲福利视频在线 | 精品三级国产精品经典三 | 亚洲欧美综合一区二区三区四区 | 欧美黄色一级视屏 | 欧美a一级| 成人欧美一级毛片免费观看 | 欧美精品一区二区三区视频 | 亚洲国产91 | 免费一级 一片一毛片 | 亚洲一级色片 | 污污网站免费在线观看 | 国产欧美日韩不卡在线播放在线 | 午夜香蕉 | 免费国产视频 | 欧美日韩国产在线人成dvd |