在我的應用程序中,我正在處理上傳真正大的圖像文件。他們將存儲在遠程服務器上,所以從我所能學到的東西中我需要編寫一些定製的存儲系統(可能使用python的poster模塊)。由於尺寸的原因,我希望直接將文件發送到媒體服務器,而不將它們存儲在內存中(「海報」允許)。但所有上傳的文件都由UploadHandler類處理,這會強制文件以某種方式(文件,temp或內存)本地存儲。那麼我怎樣才能解決這個問題?將文件從表單直接發送到遠程服務器
1
A
回答
0
根據docs,UploadedFile類應該有一個返回生成器的方法chunks()
。塊大小可配置(默認爲2.5 MB)。所以,你可以做這樣的事情(從文檔複製):
destination = open('some/file/name.txt', 'wb+')
for chunk in f.chunks():
destination.write(chunk)
destination.close()
這將陸續讀一個塊到內存並將其寫入文件。 (所以在內存中只有一個塊)。您可能想要將open()的路徑更改爲NFS卷,然後每次write()調用只會將當前塊發送到NFS。 (NFS導出所有文件操作,如open/write/read/seek/close as RPC)。桑巴工作原理類似。
或者,您也可以通過在媒體服務器上運行另一個服務來實現這種機制,該服務提供了將文件追加到文件的方法。 (無論如何,在我看來,使用NFS或Samba將是更好的選擇)。
0
相關問題
- 1. 發送表單到遠程服務器
- 2. Rails:如何將文件從S3發送到遠程服務器
- 3. 如何將文件從AJAX直接發送到遠程FTP?
- 4. 將文件直接上傳到遠程服務器
- 5. php使用cURL將文件發送到遠程服務器
- 6. 直接從eclipse發佈.war到遠程Web服務器(FTP,SSH)
- 7. cURL發送表單,但遠程服務器沒有發送POST
- 8. 如何將文件從遠程服務器直接上傳到Amazon S3?
- 9. 直接發送請求到服務器
- 10. Android應用程序發送文件到遠程服務器
- 11. 將文件從一臺遠程服務器發佈到另一臺服務器
- 12. 發送查詢到遠程服務器
- 13. 將圖像從遠程服務器發送到手機
- 14. 將JMX數據發送到遠程服務器(JMX轉發器?)
- 15. 將郵件發送到遠程服務器在PHP
- 16. Ruby將文件發送到服務器
- 17. SILVERLIGHT將文件發送到服務器
- 18. 將MP3文件發送到服務器
- 19. 通過引用到遠程服務器發送文件?
- 20. 如何直接使用push直接推送到遠程服務器?
- 21. 將數據從服務器發送到遠程套接字的問題
- 22. 套接字,從服務器發送事件到服務器
- 23. 如何將文件從Linux(informatica服務器)發送到文件服務器(windows)
- 24. 從Windows機器發送文件到Linux遠程服務器java代碼
- 25. 安卓:發送文件到服務器:PHP接收服務器
- 26. 從遠程服務器到本地服務器的Sftp文件
- 27. 從遠程服務器連接到豬
- 28. 'System.Net.Mail.SmtpException:從遠程郵件服務器發送郵件失敗
- 29. 將文件發送到服務器 - 不保存在服務器
- 30. 推送到遠程服務器GIT exlude文件夾/文件
但我仍然會發送這個數據後運行存儲。或者我錯了? – mizou 2010-10-13 23:06:33