`
hoodbc
  • 浏览: 114845 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
社区版块
存档分类
最新评论

3、多文件上传:uploadify在django中的使用(1)

阅读更多
和普通上传区别不大,用flash在上传操作时。django的csrf会报错,就直接在当前的方法给关掉了csrf。
1、

2、

3、

@csrf_exempt
def do_upload(request,action):
    if action =='my':
        file_obj = request.FILES.get('Filedata', None)
        user_id = request.POST.get('blue','')
        user_info = UserBase.objects.get(id=user_id)

        if file_obj:   
            fname = file_obj.name 
            this_file_name=file_obj.name 
            fname = user_id+str(time.strftime("%Y-%m-%d-%H-%M-%S"))+str(random.randint(0,9999)) + fname[fname.rfind('.'):]
            file_types = fname[fname.rfind('.'):]
            if os.path.isdir(homedir+'/pub/disk/'+user_id):
                pass
            else :
                os.mkdir(homedir+'/pub/disk/'+user_id)
            of = open(homedir+'/pub/disk/'+user_id+'/'+fname, 'wb+')
            for chunk in file_obj.chunks():   
                of.write(chunk)   
            of.close()


代码和普通上传一样,这里做了一个共享功能。能够把文件的下载权限给其他的人,主要是几个页面设计和js传值的小技巧。
   elif action=='go_share':
        if rbac.who(request)=='x':
            return system.index.login_out(request)
        else:
            users = rbac.who(request)
            
            if request.POST.getlist("user_name") and request.POST.get("id",""):
                names = request.POST.getlist("user_name")
                try:
                    FileUserList.objects.filter(file_id = request.POST.get("id",""),create_user_id=users.id).delete()
                except:
                    return HttpResponse('ok')
                for bc in names:
                    file_user = FileUserList()
                    file_user.user_id = bc
                    file_user.file_id = request.POST.get("id","")
                    file_user.create_time = time.strftime("%Y-%m-%d %H:%M:%S")
                    try:
                        file_user_s = FileUserList.objects.filter(file_id = request.POST.get("id",""),user_id = bc,create_user_id=users.id)
                    except:
                        pass
                        #return HttpResponse('okx')
                    else:
                        if len(file_user_s)>0:
                            pass
                        else:
                            user_info = UserBase.objects.filter(id= bc)[0]
                            file_user.true_name = user_info.true_name
                            file_user.create_user_id  = users.id
                            file_user.save()
                return HttpResponse('ok')
            
            elif type(request.POST.getlist("user_name")) is types.ListType  and request.POST.get("id",""):
                # user_name data is none, but has id ,so give me del all user info 
                try:
                    FileUserList.objects.filter(file_id = request.POST.get("id",""),create_user_id=users.id).delete()
                except:
                    return HttpResponse('okx')
                return HttpResponse('ok')


先到这,下次再把js效果弄上来。
  • 大小: 49.4 KB
  • 大小: 42 KB
  • 大小: 20.1 KB
0
8
分享到:
评论

相关推荐

    多文件上传之uploadify

    尽管Uploadify在多文件上传领域表现出色,但由于依赖Flash,它在Flash不再被支持的现代浏览器中可能无法工作。为了解决这个问题,可以考虑使用HTML5的File API,如Plupload或Dropzone.js,它们提供了与Uploadify类似...

    uploadify教程

    2. Multiple File Upload Capabilities:Uploadify 允许用户上传多个文件,同时也支持大文件上传。 3. SWFObject Integration:Uploadify 集成了 SWFObject,提供了一个跨浏览器的上传解决方案。 4. Compatibility ...

    多文件上传插件uploadify

    Uploadify是一款流行的多文件上传插件,它允许用户在网页上批量上传文件,同时具有良好的浏览器兼容性。这个插件对于那些需要在网站上实现高效、便捷文件上传功能的开发者来说,是一个非常实用的工具。在本文中,...

    MVC4下对话框中使用Uploadify上传多个文件

    至此,我们完成了在MVC4中使用JQuery Dialog和Uploadify进行多文件上传的基本流程。请注意,为了保证安全性和性能,实际应用中还需要考虑错误处理、权限验证、文件大小限制、异步操作优化等更多细节。希望这个指南能...

    uploadify多文件上传例子代码

    本示例代码是关于如何使用uploadify在Java环境中(通过jsp和servlet)实现多文件上传的一个实例。 首先,uploadify是一个基于jQuery的插件,它的核心功能是通过Flash或HTML5技术提供了一种友好的用户界面,让用户...

    基于django框架的博客例子和uploadify插件的例子

    Uploadify是一个基于jQuery的文件上传插件,它提供了异步文件上传的功能,使得用户可以在不刷新页面的情况下上传文件。这个例子可能展示了如何在Django应用中集成Uploadify,以实现用户友好的文件上传体验。 1. **...

    uploadify大文件上传

    进度条不仅可以展示当前文件的上传进度,还能在多文件上传时分别显示每个文件的进度,增强用户体验。 3. **多文件上传**:Uploadify允许用户同时选择并上传多个文件,这对于需要批量上传文件的场景非常实用。用户只...

    JSP使用文件上传插件uploadify示例

    在本示例中,我们将关注"JSP使用文件上传插件uploadify"的主题,这是一个利用uploadify插件实现AJAX文件上传的教程。uploadify是一款流行且美观的JavaScript插件,它为网页提供了流畅的多文件上传体验。 首先,我们...

    Uploadify-3.2.1 jQuery文件上传插件

    Uploadify是一款基于jQuery的文件上传插件,版本为3.2.1,它极大地简化了在Web应用中实现异步无刷新多文件上传的过程。这个插件的核心特性是通过Ajax技术实现在后台处理文件上传,使得用户在上传过程中无需等待页面...

    uploadify文件异步上传

    在“uploadify 文件异步上传 实现qq邮箱异步上传 0积分”的场景下,我们可以理解为这个示例可能展示了如何将Uploadify集成到QQ邮箱中,以支持用户快速、便捷地上传附件。 1. **Uploadify的基本概念**: Uploadify ...

    uploadify多文件上传(java版)

    Uploadify是一款广泛使用的JavaScript库,它允许用户在网页上实现多文件上传功能。这个Java版本的实现是将Uploadify与后端服务器的Java环境相结合,为用户提供了一个高效、易用的文件上传解决方案。Uploadify的核心...

    uploadify多文件上传

    Uploadify是一款广泛应用于Web开发中的JavaScript插件,用于实现多文件上传功能。它基于jQuery库,使得文件上传变得更加便捷和用户友好。在本项目中,我们看到一系列与Uploadify相关的文件,包括样式表、JavaScript...

    Uploadify多文件上传+servlet

    在IT行业中,多文件上传是一项常见的需求,尤其是在网站开发中,比如用户可能需要一次上传多个图片或者文档。Uploadify是一款非常流行的JavaScript插件,它能够实现异步的、基于Ajax的多文件上传功能,极大地提升了...

    Uploadify 多文件上传,可设置文件类型

    在"Uploadify 多文件上传,可设置文件类型"这一主题中,我们主要探讨以下几个核心知识点: 1. **多文件上传**:Uploadify 支持用户同时选择并上传多个文件,极大地提高了上传效率。用户只需一次操作即可完成批量...

    uploadify多文件上传插件

    在以上代码中,我们设置了SWF文件路径、服务器端处理脚本、上传目标目录、队列ID、自动上传以及多文件上传选项,并定义了队列满和文件上传成功的回调函数。 总的来说,Uploadify是一个强大的文件上传解决方案,它...

    使用Uploadify上次文件的Demo

    Uploadify是一款广泛应用于Web开发中的JavaScript插件,它允许用户通过浏览器实现文件的上传功能,尤其在处理多文件上传时表现得非常高效。这个压缩包包含了一个使用Uploadify的示例项目,帮助开发者理解并应用...

    java使用uploadify插件实现多文件上传完整demo

    在Java开发中,实现多文件上传是一个常见的需求,特别是在构建Web应用时。Uploadify是一款流行的JavaScript插件,它使得在前端实现文件上传变得更加便捷,并且支持多文件选择、进度显示、取消上传等特性。本教程将...

    uploadify_v3.2.1文件上传插件

    这款插件允许用户在网页上实现批量、多文件的上传功能,极大地提升了文件交互的效率。以下是关于Uploadify V3.2.1的一些关键知识点: 1. **基本功能**:Uploadify的核心功能是为网页提供一个易于使用的文件上传界面...

Global site tag (gtag.js) - Google Analytics