Tôi đang sử dụng Google App Engine Blobstore để lưu trữ một loạt loại tệp (PDF, XLS, v.v.) và đang cố gắng tìm cơ chế theo đó tên tệp gốc của tệp được tải lên - như được lưu trữ trong blob_info - có thể được sử dụng để đặt tên cho tệp tải xuống tức là để người dùng thấy 'some_file.pdf' trong hộp thoại lưu thay vì 'very_long_db_key.pdf'.Tên tệp đã tải xuống bằng Google App Engine Blobstore
Tôi không thể nhìn thấy bất cứ điều gì trong tài liệu mà sẽ cho phép này:
http://code.google.com/appengine/docs/python/blobstore/overview.html
Tôi đã nhìn thấy gợi ý trong bài viết khác mà bạn có thể sử dụng thông tin trong blob_info để đặt tiêu đề Content-Disposition . Đây có phải là cách tiếp cận tốt nhất để đạt được kết quả mong muốn không?
Chỉ cần thêm - nếu tên tệp gốc chứa dấu ngoặc kép, hộp thoại tải xuống sẽ cắt ngắn tên tệp sau ký tự trích dẫn. Tôi đã giải quyết vấn đề này bằng cách thoát khỏi các dấu ngoặc kép trong tên tập tin blob: 'self.send_blob (blob_info, save_as = blob_info.filename.thay thế ('"', '\\"')) ' (Có một cuộc thảo luận liên quan về việc này [ở đây] (http://stackoverflow.com/questions/93551/how-to-encode-the-filename-parameter -of-content-disposition-header-in-http)) –