Наконец-то я это сделал!Надеюсь, что приведенный ниже ответ будет полезен для тех, кто использует те же библиотеки, и для кого-то, кому нужно создавать эскизы и хранить их где-то.1006 * или Путь / к / file.string .Единственное решение, которое я нашел - это получить запрошенный файл, открыть его с помощью PIL, сделать что-то, сохранить его в байтах, записать эти байты в файл и передать этот путь к файлу в Flask Cloudy.
Решение:
def image_add():
if request.method == 'POST':
if 'username' in session:
file = request.files['image']
img_sizes = [(128,128),(300,300),(800,600)]
uploadId=str(uuid.uuid4())
prefix = uploadId + '/'
source = storage.upload(file, name=uploadId, prefix=prefix, extension=["jpeg","jpg","png"], overwrite=False, public=True)
for size in img_sizes:
image = Image.open(file)
image_io = io.BytesIO()
image.thumbnail(size)
image.save(image_io, 'jpeg')
thumbName = '%s_%s.jpg' % (uploadId, str('x'.join(tuple(map( str , size )))))
with open(thumbName, 'wb') as file_output:
file_output.write(image_io.getvalue())
file_output.close()
source0 = storage.upload(thumbName, name=thumbName, prefix=prefix, extension=["jpeg","jpg","png"], overwrite=False, public=True)
os.remove(thumbName)
resp = json.dumps({
"id": uploadId,
"url": source.url
})