番禺网站设计公司花蝴蝶免费视频直播高清版
web/
2025/9/26 18:39:33/
文章来源:
番禺网站设计公司,花蝴蝶免费视频直播高清版,设计师必备网站,宁夏小蚁人网站建设分享一下在Django中使用uploadify——一个jQuery批量上传插件——的方法。github上的django-uploadify使用的是2.1.4版本#xff0c;上传button只能使用图片#xff0c;不能很方便的修改样式。本文针对的是uploadify 3.0.0版本。uploadify可以结合Django自身的ImageField上传button只能使用图片不能很方便的修改样式。本文针对的是uploadify 3.0.0版本。uploadify可以结合Django自身的ImageField或是配合easy_thumbnails等第三方app来使用。比较稳定我 在几个项目中处理批量上传都是用它没有出现什么问题。但因为是用flash上传在开发工具中监控不到network的动作只能通过函数返回的错误信 息来调试所以比较麻烦但调通一次就一劳永逸了。不重要的CSS样式可以跳过。.uploadifyButton{background-color:#505050;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;color:#FFF;font:12px Arial, Helvetica, sans-serif;text-align:center;width:100%;padding:8px 0}.uploadify:hover .uploadifyButton{background-color:gray}.uploadifyQueueItem{background-color:#F5F5F5;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;font:11px Verdana, Geneva, sans-serif;margin-top:5px;max-width:350px;padding:10px}.uploadifyError{background-color:#FDE5DD!important}.uploadifyQueueItem .cancel{float:right}.uploadifyQueue .completed{background-color:#E5E5E5}.uploadifyProgress{background-color:#E5E5E5;margin-top:10px;width:100%}.uploadifyProgressBar{background-color:#09F;height:3px;width:1px}添加一个上传按钮引入相应的js文件。uploadify 3.0中把swfobject.js和uploadify.js写到一个js文件里了。input typefile idid_upload nameupload/script typetext/javascript src/static/js/jquery.js/script typetext/javascript src/static/js/jquery.uploadify.js/需要在两个函数一个用来检查图片是否存在一个用来保存图片。csrf_exemptdef check_existing(request): #如果调用Django的Field来处理会自动判断 #常见的操作是用户上传图片后随机给一个名字 #所以这里也可以直接返回0即不存在return HttpResponse(0)用来处理的上传图片。如果这个函数独立存在的话它的request.user是匿名用户request.session也和当前登录的用户不同。简单的解决方法是接传入user_idcsrf_exemptdef upload_image(request, user_id):file_ext str(request.FILES[Filedata].name).split(.)[-1] # 随机或者md5加密或者其他方式让图片名字不重复file_name time.strftime(%Y%m%d%H%M%S)user_upload_folder os.path.join(media, user_id)if not os.path.exists(user_upload_folder):os.mkdir(user_upload_folder) #这里是用二进制的方式操作Django也提供了其他的方法file_upload open( os.path.join(user_upload_folder, file_name . file_ext), w)file_upload.write(request.FILES[Filedata].read())file_upload.close()return HttpResponse(file_name . file_ext)在url中增加对这两个函数的指向最后用js初始化上传按钮$(document).ready(function(){ //批量上传按钮$(#id_upload).uploadify ({swf : /static/uploadify.swf,uploader : {%url upload_image request.user.id %}, cancelImage : /static/images/icons/cancel.png,buttonClass : btn,checkExisting : {%url check_existing %},removeCompleted: true,fileTypeExts : *.jpg;*.gif;*.png,multi : true,auto : true,buttonText: 添加图片,onUploadSuccess : function (file, data, response) {$(#instructions).before(img src/media/{{request.user.id}}/ data /)}});})onUploadSuccess函数中返回的file是一个object保存有文件的信息data是处理完成后服务器端返回的内容response是true。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/82326.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!