和普通上传区别不大,用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
分享到:
相关推荐
MVC4下对话框中使用Uploadify上传多个文件
uploadify多文件上传例子代码,jsp+servlet实现
uploadify多文件上传Demo整理,客户端操作,后台异步提交
NULL 博文链接:https://eric-gao.iteye.com/blog/914131
struts2 +jquey uploadify3 2 实现多文件上传 可以运行的myeclipse工程 绝对好用 访问方式http: 127 0 0 1:8080 Struts2Uploadify upload jsp uploadify 使用说明: <a href "javascript:$ "#file ...
uploadify多文件上传
Jquery 多文件上传,jquery+flash 多文件上传,界面美观, 很炫的上传组件,支持中文! 本实例经过严格测试,保证能正常使用!网上其他好多实例都不能正常运行。 uploadify是一款容量小、功能强的Js批量上传工具,...
uploadify 多文件上传插件 多浏览器兼容
Uploadify 是一个非常好的jQuery文件上传插件,可以实现无刷新多文件上传,带进度显示,基于Flash与Ajax技术。我在Firefox 4.0.1 和 IE 9.0.8112 浏览器中使用,兼容性良好。使用许可是 MIT,免费开源且可自由地用于...
多文件上传控件uploadify火韦修改版 一个uploadify文件上传的小例子程序来源网络,是为了用在淘宝店上上传图片加水印并返回地址方便添加宝贝儿增加了些功能; 1、实现实现文件重命名; 2、文件类型进行简单过滤; 3、...
JSP使用文件上传插件uploadify ,内附带最新版本的uploadify。欢迎学习交流。本文章地址http://blog.csdn.net/tianba8/article/details/9953383,欢迎交流学习。
HTML5 PHP jquery uploadify上传文件,带进度条,author:吕大豹。...支持多文件上传 2.带进度条 3.可以显示文件名称 4.可以实时显示已上传的大小 5.可以从队列中删除 6.各元素的样式都可以自己控制
struts1 uploadify 多文件上传
uploadify 文件异步上传 实现qq邮箱异步上传 0积分
uploadify 其中有一个bug是,已经上传完成的文件,点击取消上传后,后台是不会跑去删除已经上传的文件的,它没有调用oncancel事件,这部分只能自己去写代码实现删除,下面会讲到这一块。我们先建立好一些普通的功能...
uploadify批量上传文件-
完整的对于java使用uploadify插件实现多文件上传,很适合文件上传需求者直接拷贝使用
uploadify3.2实现文件上传,很好用的一款基于jquery插件
PHP多文件上传控件uploadify火韦修改版php源码
django上传图片的jquery实现 使用uploadify 实现 使用AjaxFileUpload实现 整个源码是一个pycharm工程 将所有的文件都包括了 如果还是报错,请安装第三方的包 比如PIL等