예제 #1
0
    def upload_file(self, request):
        """上传文件, 根据用户的文件大小,选择单文件上传和分片上传策略

        :param request:
        :return:
        """
        assert isinstance(request, UploadFileRequest)
        check_params_ret = self._check_params(request)
        if check_params_ret is not None:
            return check_params_ret

        local_path = request.get_local_path()
        file_size = os.path.getsize(local_path)

        suit_single_file_zie = 8 * 1024 * 1024
        if file_size < suit_single_file_zie:
            return self.upload_single_file(request)
        else:
            bucket = request.get_bucket_name()
            cos_path = request.get_cos_path()
            local_path = request.get_local_path()
            slice_size = 1024 * 1024
            biz_attr = request.get_biz_attr()
            upload_slice_request = UploadSliceFileRequest(
                bucket, cos_path, local_path, slice_size, biz_attr)
            upload_slice_request.set_insert_only(request.get_insert_only())
            return self.upload_slice_file(upload_slice_request)
예제 #2
0
파일: cos_op.py 프로젝트: felix021/cosfs
    def upload_file(self, request):
        """上传文件, 根据用户的文件大小,选择单文件上传和分片上传策略

        :param request:
        :return:
        """
        assert isinstance(request, UploadFileRequest)
        check_params_ret = self._check_params(request)
        if check_params_ret is not None:
            return check_params_ret

        local_path = request.get_local_path()
        file_size = os.path.getsize(local_path)

        suit_single_file_zie = 8 * 1024 * 1024
        if file_size < suit_single_file_zie:
            return self.upload_single_file(request)
        else:
            bucket = request.get_bucket_name()
            cos_path = request.get_cos_path()
            local_path = request.get_local_path()
            slice_size = 1024 * 1024
            biz_attr = request.get_biz_attr()
            upload_slice_request = UploadSliceFileRequest(bucket, cos_path, local_path, slice_size, biz_attr)
            upload_slice_request.set_insert_only(request.get_insert_only())
            return self.upload_slice_file(upload_slice_request)
예제 #3
0
    def upload_file(self, request):
        assert isinstance(request, UploadFileRequest)
        check_params_ret = self._check_params(request)
        if check_params_ret != None:
            return check_params_ret

        local_path = request.get_local_path()
        file_size = os.path.getsize(local_path)

        suit_single_file_zie = 8 * 1024 * 1024
        if (file_size < suit_single_file_zie):
            return self.upload_single_file(request)
        else:
            bucket = request.get_bucket_name()
            cos_path = request.get_cos_path()
            local_path = request.get_local_path()
            slice_size = 512 * 1024
            biz_attr = request.get_biz_attr()
            upload_slice_request = UploadSliceFileRequest(
                bucket, cos_path, local_path, slice_size, biz_attr)
            return self.upload_slice_file(upload_slice_request)