在Django中,用户如何上传文件到服务器并移动到Amazon S3?
我有一个网页项目,用户可以上传 .wav 格式的音频文件。我想在用户上传后,自动生成一个波形图像来展示这个 .wav 文件的内容。不过,我打算把这些文件存储在亚马逊的 S3 服务上。问题是,我想用一个叫 TimeSide 的工具(http://code.google.com/p/timeside/wiki/PythonApi)来生成这个波形图像。
我和一个参与 TimeSide 项目的程序员聊过,他说如果 .wav 文件是从亚马逊 S3 上传过来的,那直接生成波形图像可能不太合适。所以我在想,应该在用户上传 .wav 文件后,立刻生成波形图像,然后把 .wav 文件和生成的波形图像一起复制到亚马逊 S3,然后再把上传服务器上的文件删除。这样做是不是比较合理呢?
我可以用 Python 的 Boto 库来实现这个功能吗?还是说我需要自己写一个 Django 后端来处理这个?
2 个回答
1
在你这边先完成工作,然后再上传到亚马逊的S3存储是比较合理的做法。你可以使用Boto这个工具,或者其他任何库,只需要把它们导入到你的项目里就可以了。
1
我同意,上传后应该在服务器上处理这些工作。如果只是使用S3的话,我觉得这个链接可能有用:http://aws.amazon.com/code/134?_encoding=UTF8&jiveRedirect=1。我还找到了一篇不错的教程,也许对你有帮助:http://www.holovaty.com/writing/amazon-s3-media/