से फ़ाइल एक्सटेंशन डाउनलोड किया गया है, वर्तमान में मैं GAE Blobstore में .docx फ़ाइलों का एक समूह संग्रहीत कर रहा हूं। मैंने हाल ही में देखा है कि ये फ़ाइलें कुछ कंप्यूटरों (विंडोज 7 के लिए आईई 9) पर फ़ाइल एक्सटेंशन के बिना डाउनलोड कर रही हैं, लेकिन दूसरों के लिए ठीक काम करती हैं (आईई 8, विंडोज 7 के लिए क्रोम)।GAE ब्लॉबस्टोर
: कैसे मैं ब्लॉब की सेवा है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
यहाँ:
f = files.blobstore.create(mime_type='application/vnd.openxmlformats-officedocument.wordprocessingml.document',
_blobinfo_uploaded_filename=filename)
## then some code to write data and save ##
यहां Chrome निरीक्षक से फ़ाइल के लिए प्रतिक्रिया हेडर है:
यहाँ कैसे फ़ाइलों Blobstore में जमा हो जाती है
self.send_blob(blob_info, save_as=blob_info.filename, content_type=blob_info.content_type)
मैंने किसी भी लाभ के लिए content_type='application/vnd.openxmlformats-officedocument.wordprocessingml.document'
हार्डकोडिंग की कोशिश की।
क्या हो रहा है और इसे ठीक करने के तरीके पर कोई विचार?
अनुरोध के रूप में, यहां बताया गया है कि प्रारंभ में ब्लॉब को सहेजते समय मुझे फ़ाइल जानकारी कैसे प्राप्त होती है। मैं बहुत कुछ है कि त्रुटि इस स्तर पर उत्पन्न नहीं है हूँ, लेकिन यहाँ समस्या का अग्रदूत है:
# 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)
आप ब्लॉब को वापस कैसे भेज रहे हैं? send_blob? –
हां, मैं 'self.send_blob (blob_info, save_as = blob_info.filename)' – kennysong
का उपयोग कर रहा हूं, क्या आप यह सुनिश्चित करने के लिए कि वास्तव में एक्सटेंशन है, वह कोड पोस्ट कर सकता है जो वास्तव में 'फ़ाइल नाम' की गणना करता है। साथ ही, क्या आप BlobInfo का उपयोग करके जांच सकते हैं कि फ़ाइल नाम सही एक्सटेंशन के साथ संग्रहीत है। –