def post(self, request): file_uploaded = request.FILES['file'] project_part_id = request.POST['project_part'] if not WALL_VAL.match(file_uploaded.name): response_data = { 'status': 'ko', 'message': 'The name of the file is not correct' } elif file_uploaded.content_type not in settings.SUPPORTED_FILES: response_data = { 'status': 'ko', 'message': 'You cannot upload this kind of file' } elif file_uploaded.size * 1.0 / 1048576 > settings.FILE_SIZE: response_data = { 'status': 'ko', 'message': 'You cannot upload a file bigger than %d MB' % settings.FILE_SIZE } else: project_part = ProjectPart.objects.get(pk=project_part_id) file_obj = File(created_user=request.user, original_name=file_uploaded.name, system_name=file_uploaded.name, project_part=project_part) if os.path.exists(file_obj.get_file_path(True)): file_obj.set_original_name() with open(file_obj.get_file_path(True), 'wb+') as destination: for chunk in file_uploaded.chunks(): destination.write(chunk) if (file_obj.is_image()): file_obj.generate_thumbnail() file_obj.save() Activity.objects.set_activity('add', file_obj) if request.user.profile.drive_token and project_part.project.drive_id: drive_util = DriveUtil(request.user.profile.drive_token) if not project_part.drive_id: project_part_folder = drive_util.get_project_part_folder( request.user.profile.drive_folder, project_part) else: project_part_folder = project_part.drive_id drive_util.insert_file(file_uploaded.name, 'description', project_part_folder, file_uploaded.content_type, file_obj.get_file_path(True)) response_data = {'status': 'ok'} return HttpResponse(json.dumps(response_data), mimetype='application/json')
def post(self, request): data = json.loads(request.raw_post_data) file_type = data["filetype"] project_part = get_object_or_404(ProjectPart, pk=data["project_part"]) drive_util = DriveUtil(request.user.profile.drive_token) if not project_part.drive_id: project_part_folder = drive_util.get_project_part_folder(request.user.profile.drive_folder, project_part) else: project_part_folder = project_part.drive_id drive_file = drive_util.insert_drive_file("Untitled", file_type, parent_id=project_part_folder) return HttpResponse(json.dumps(drive_file), mimetype="application/json")
def post(self, request): file_uploaded = request.FILES["file"] project_part_id = request.POST["project_part"] if not WALL_VAL.match(file_uploaded.name): response_data = {"status": "ko", "message": "The name of the file is not correct"} elif file_uploaded.content_type not in settings.SUPPORTED_FILES: response_data = {"status": "ko", "message": "You cannot upload this kind of file"} elif file_uploaded.size * 1.0 / 1048576 > settings.FILE_SIZE: response_data = { "status": "ko", "message": "You cannot upload a file bigger than %d MB" % settings.FILE_SIZE, } else: project_part = ProjectPart.objects.get(pk=project_part_id) file_obj = File( created_user=request.user, original_name=file_uploaded.name, system_name=file_uploaded.name, project_part=project_part, ) if os.path.exists(file_obj.get_file_path(True)): file_obj.set_original_name() with open(file_obj.get_file_path(True), "wb+") as destination: for chunk in file_uploaded.chunks(): destination.write(chunk) if file_obj.is_image(): file_obj.generate_thumbnail() file_obj.save() Activity.objects.set_activity("add", file_obj) if request.user.profile.drive_token and project_part.project.drive_id: drive_util = DriveUtil(request.user.profile.drive_token) if not project_part.drive_id: project_part_folder = drive_util.get_project_part_folder( request.user.profile.drive_folder, project_part ) else: project_part_folder = project_part.drive_id drive_util.insert_file( file_uploaded.name, "description", project_part_folder, file_uploaded.content_type, file_obj.get_file_path(True), ) response_data = {"status": "ok"} return HttpResponse(json.dumps(response_data), mimetype="application/json")
def post(self, request): data = json.loads(request.raw_post_data) file_type = data['filetype'] project_part = get_object_or_404(ProjectPart, pk=data['project_part']) drive_util = DriveUtil(request.user.profile.drive_token) if not project_part.drive_id: project_part_folder = drive_util.get_project_part_folder( request.user.profile.drive_folder, project_part) else: project_part_folder = project_part.drive_id drive_file = drive_util.insert_drive_file( 'Untitled', file_type, parent_id=project_part_folder) return HttpResponse(json.dumps(drive_file), mimetype='application/json')