def upload(request, uri): if request.POST: _uri = request.POST.get("uri") _md5_hash = request.POST.get("hash") _name = request.POST.get("name") _description = request.POST.get("description") _time = datetime.datetime.now() _directory = request.POST.get("directory") if _directory != "": _rank = 2 # 判断文件夹是否存在,若存在,则其中文件数加一,否则创建新的文件夹 try: d = Directory.objects.get(uri=uri + "/" + _directory) except Directory.DoesNotExist: d = None if d: d.file_num += 1 d.save() else: d = Directory(uri=uri + "/" + _directory, file_num=1, time=_time, name=_directory) d.save() else: _rank = 1 pd = PrimaryDirectory.objects.get(uri=uri) pd.file_num += 1 pd.save() file = File(uri=_uri, md5_hash=_md5_hash, name=_name, description=_description, time=_time, url=getDownloadUrl(_uri), download_num=0, rank=_rank) file.save() return HttpResponse("ok") return render_to_response("upload.html", {"uri": uri}, context_instance=RequestContext(request))
def post_directory(request): data = json.loads(request.body) if all (key in data for key in ("name", "parent")): name = data['name'] parent = Directory.objects.get(id=data['parent']) if type(data['parent']) is int else None; directory = Directory(name=name, parent=parent, owner=request.user, bytes=0) directory.save() return JsonResponse(directory.get_client_inode(), safe=False) return JsonResponse({'message':'Invalid post data..'}, status=400, safe=False)