def put_file(up_token, key, file_path, params=None, mime_type='application/octet-stream', check_crc=False, progress_handler=None, upload_progress_recorder=None): """上传文件到七牛 Args: up_token: 上传凭证 key: 上传文件名 file_path: 上传文件的路径 params: 自定义变量,规格参考 http://developer.qiniu.com/docs/v6/api/overview/up/response/vars.html#xvar mime_type: 上传数据的mimeType check_crc: 是否校验crc32 progress_handler: 上传进度 upload_progress_recorder: 记录上传进度,用于断点续传 Returns: 一个dict变量,类似 {"hash": "<Hash string>", "key": "<Key string>"} 一个ResponseInfo对象 """ ret = {} size = os.stat(file_path).st_size with open(file_path, 'rb') as input_stream: if size > config._BLOCK_SIZE * 2: ret, info = put_stream(up_token, key, input_stream, size, params, mime_type, progress_handler, upload_progress_recorder=upload_progress_recorder, modify_time=(int)(os.path.getmtime(file_path))) else: crc = file_crc32(file_path) if check_crc else None ret, info = _form_put(up_token, key, input_stream, params, mime_type, crc, progress_handler) return ret, info
def putfile( up_token, key, file_path, params=None, mime_type='application/octet-stream', check_crc=False): ''' put data to Qiniu If key is None, the server will generate one. data may be str or read()able object. ''' crc = file_crc32(file_path) if check_crc else None with open(file_path, 'rb') as input_stream: return _put(up_token, key, input_stream, params, mime_type, crc, is_file=True)
def put_file(up_token, key, file_path, params=None, mime_type='application/octet-stream', check_crc=False, progress_handler=None): ret = {} size = os.stat(file_path).st_size with open(file_path, 'rb') as input_stream: if size > config._BLOCK_SIZE * 2: ret, info = put_stream(up_token, key, input_stream, size, params, mime_type, progress_handler) else: crc = file_crc32(file_path) if check_crc else None ret, info = _form_put(up_token, key, input_stream, params, mime_type, crc, True, progress_handler) return ret, info