Şu anda GAE Blobstore ürününde bir grup .docx dosyası depolamıyorum. Geçenlerde bu dosyaların bazı bilgisayarlarda (Windows 7 için IE 9) dosya uzantıları olmadan indirildiğini, ancak başkaları için iyi çalıştığını fark ettim (IE 8, Windows 7 için Chrome). İşte GAE, indirilen dosya uzantılarını blobstore'dan indir
f = files.blobstore.create(mime_type='application/vnd.openxmlformats-officedocument.wordprocessingml.document',
_blobinfo_uploaded_filename=filename)
## then some code to write data and save ##
Krom denetçisi gelen dosya için yanıt başlıklarını var:
: Burada
Cache-Control:no-cache
Content-Disposition:attachment; filename="causes_of_ww1_emanresu"
Content-Length:12120
Content-Type:application/vnd.openxmlformats-officedocument.wordprocessingml.document
Date:Fri, 26 Oct 2012 23:54:09 GMT
Server:Google Frontend
X-AppEngine-Estimated-CPM-US-Dollars:$0.000033
X-AppEngine-Resource-Usage:ms=15 cpu_ms=0
ben damla nasıl hizmet ediyor İşte
dosyaları Blobstore saklanır nasıl
self.send_blob(blob_info, save_as=blob_info.filename, content_type=blob_info.content_type)
content_type='application/vnd.openxmlformats-officedocument.wordprocessingml.document'
numaralı hardcoding'i boşa çıkarmaya çalıştım bile.
Neler olduğu ve nasıl düzeltileceği hakkında herhangi bir fikir var mı?
İstenirse, başlangıçta bloğu kaydederken dosya bilgilerini nasıl edinebilirim. Ben hata bu seviyede oluşan olmadığını oldukça eminim, ama burada sorunun habercisi:
# get the file from a file_url with urlfetch
result = urlfetch.fetch(file_url)
headers = result.headers
# some custom functions to return a filename
username = self.get_username()
filename = get_filename(title, username)
# write the file to blobstore
f = files.blobstore.create(mime_type=headers['content-type'],
_blobinfo_uploaded_filename=filename)
with files.open(f, 'a') as data:
data.write(result.content)
files.finalize(f)
blob_key = files.blobstore.get_blob_key(f)
Blob'u nasıl geri gönderiyorsunuz? send_blob? –
Evet, ben kullanıyorum 'self.send_blob (blob_info, save_as = blob_info.filename)' – kennysong
Uzantı olduğundan emin olmak için aslında 'dosya adını' hesaplayan kodu gönderir misiniz? Ayrıca, dosya isminin doğru uzantı ile saklandığı BlobInfo kullanarak kontrol edebilirsiniz. –