9

プログラムで画像ファイルをアップロードしており、ファイル名を設定したいと考えています。POST 経由でファイルをアップロードすると、ファイル名プロパティが自動的に設定されます。ただし、以下の方法を使用すると、ファイル名が設定されません。

        image = urllib2.urlopen(url)
        file_name = files.blobstore.create(mime_type='image/png')
        with files.open(file_name, 'a') as f:
            f.write(image.read())
        files.finalize(file_name)  
        image_blob_key = files.blobstore.get_blob_key(file_name) 
4

2 に答える 2

8

URL からファイル名を解析します (関連する質問はこちらを参照してください)。次に、追加のパラメーターを files.blobstore.create 呼び出しに追加することで設定できます。

file_name = files.blobstore.create(mime_type='image/png',_blobinfo_uploaded_filename=file_name_from_url)
于 2011-04-18T02:30:12.190 に答える
4

私はこれが古い質問であることを知っていますが...

self.send_blob(blob_info、save_as = True)を使用すると、Trueの代わりに文字列を指定できます。つまり、ファイルは指定された文字列をファイル名として提供されます。したがって、1つの解決策は、ファイル名をblobkeyと一緒に保持し、send_blobを使用してこれらを提供するときに、ファイル名を引数として指定することです。ファイルがどのように保存されるかは気にせず、ファイルがどのように提供されるかだけが気になります。

于 2011-08-30T21:07:28.337 に答える