Python Tech

Django用uploadify实现图片批量上传

分享一下在Django中使用uploadify——一个jQuery批量上传插件——的方法。github上的django-uploadify使用的是2.1.4版本,上传button只能使用图片,不能很方便的修改样式。本文针对的是uploadify 3.0.0版本。

uploadify可以结合Django自身的ImageField,或是配合easy_thumbnails等第三方app来使用。比较稳定,我在几个项目中处理批量上传都是用它,没有出现什么问题。但因为是用flash上传,在开发工具中监控不到network的动作,只能通过函数返回的错误信息来调试,所以比较麻烦,但调通一次就一劳永逸了。

不重要的CSS样式,可以跳过。

添加一个上传按钮,引入相应的js文件。uploadify 3.0中把swfobject.js和uploadify.js写到一个js文件里了。


需要在两个函数,一个用来检查图片是否存在,一个用来保存图片。

在url中增加对这两个函数的指向,最后用js初始化上传按钮:

onUploadSuccess函数中,返回的file是一个object,保存有文件的信息,data是处理完成后服务器端返回的内容,response是true。

avatar

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

  Subscribe  
最新 最旧 得票最多
提醒
Jason
游客
Jason

报HTTP 500错误。’uploader’ : ‘{%url upload_image request.user.id %}’, 这个地方,因为有参数,所以没办法直接这样写,所以我改成’myinfo/upload_image/{{ request.user.id }}’

Jason
游客
Jason

报HTTP 500错误。’uploader’ : ‘{%url upload_image request.user.id %}’, 这个地方,因为有参数,所以没办法直接这样写,所以我改成’myinfo/upload_image/{{ request.user.id }}’

trackback

[…] 之前写过Django用uploadify实现图片批量上传,从反馈来看,问题很多。现在uploadify更新到了3.2版,仍然是用swf来实现批量上传,代码还是老样子一团糟。作为替代换成了file-uploader,虽然是multipart/form-data来实现批量上传,不如swf的方式通用。但我不需要兼容老版本浏览器,做的都是富js应用,更看重代码的可扩展性,file-uploader更合适。 […]

trackback

[…] FROM:http://dmyz.org/archives/350 […]