亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

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

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

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

問題描述

我用的是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ù)還沒有寫入圖片。

咋辦?

問題解答

回答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í)這類圖片處理,直接使用阿里云的OSS或者七牛等類似的存儲功能更好,直接將圖片上傳到OOS中,然后調(diào)用特別的后綴進(jìn)行指定的圖片處理,未來也訪問OSS上處理后的地址。這樣既可以規(guī)避用自己服務(wù)器處理圖片的負(fù)荷,而且也降低了訪問的壓力,對于降低程序的復(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一国产成人免费网站 | 一级做a爰全过程免费视频毛片 | 久久99这里只有精品国产 | 免费女人18毛片a级毛片视频 | 三级美国 | 成人欧美日韩 | 成人一a毛片免费视频 | 成人精品一区久久久久 | 日韩精品亚洲一级在线观看 | 成年女人毛片免费播放视频m | 日韩在线国产 | 日日爽夜夜操 | 亚洲一二区 | 亚洲国产精品久久精品成人 | 国产一级免费 | 久久99久久精品免费思思6 | 久久精品久久久久 | 国产成人精品男人免费 | 精品午夜寂寞影院在线观看 | 91免费国产精品 | 国产精品大片天天看片 | 一级网站在线观看 | 欧美一区二区三区免费高 | 黄色美女视频 | 成人在线视频免费观看 | 久久视频一区 | 日韩永久在线观看免费视频 | 奶交性视频欧美 | 亚洲三级在线播放 | 福利片免费一区二区三区 | 狠狠色综合久久婷婷 | 成年女人色毛片免费 | 国产三级在线视频观看 | 午夜精品同性女女 | 欧美一级片毛片 | 国产视频自拍一区 | 久久香蕉国产观看猫咪3atv | 黄色理论视频 | 久久精品国产欧美日韩99热 | 欧美特黄一级 | 一本色道久久综合网 |