AppFog 云服务器上,通过表单上传的文件只能临时存储一段时间,过了这个时间就会被清空。
而我有另一台支持外链的ftp服务器。目前想到的方法是表单上传到AppFog上,再通过ftp传输到远程服务器上。
这个过程显然很慢(只是我觉得这样会比较平滑,不用等待那么长时间)。
现在,我想减少中间这个环节,有没有办法直接上传到FTP上呢?
from ftplib import FTP def ftp_upload(filename): ftp = FTP() ftp.set_debuglevel(2) # 调试级别,2为显示详细信息,0为关闭 ftp.connect(Config.FTP_HOST, '21') ftp.login(Config.FTP_USERNAME, Config.FTP_PASSWORD) ftp.cwd(Config.FTP_PATH) bufsize = 4096 # 缓冲块大小 file_handler = open(filename, 'rb') ftp.storbinary('STOR %s' % os.path.basename(filename), file_handler, bufsize) # 上传文件 ftp.set_debuglevel(0) file_handler.close() ftp.quit()
楼主如果是想解决持久化储存问题,可以将附件存入数据表。 我也在用appfog,也是这样解决的.
显示的时候从数据库中读出来显示就行。
另: 在 appfog 上传的文件并不是只保存一段时间。 如果你不更新代码,文件是不会消失的。
原因是: appfog 每次更新代码,都会先将服务器的目录清空。
解决的办法是: 每次更新,先同步代码
虽然这很蛋痛 -_-#