def upload_curl(self, savedir, localfile): ''' 使用curl上传文件 上传大文件时使用此接口,可显示上传进度 @param savedir: 远端保存路径 @param localfile: 本地文件完整路径 ''' savedir = util.encode_utf8(savedir) localfile = util.encode_utf8(localfile) url = 'https://c.pcs.baidu.com/rest/2.0/pcs/file' query = [('method', 'upload'), ('app_id', _APP_ID), ('ondup', 'newcopy'), ('dir', savedir), ('filename', os.path.basename(localfile)), ('BDUSS', urllib.unquote(self.bduss))] url = '%s?%s' % (url, urllib.urlencode(query)) # 创建临时文件用来保存输出结果 _, tmp_file = tempfile.mkstemp(suffix='.json') # 调用curl上传文件 cmd = [ 'curl', '-A', _USER_AGENT, '-H', 'Expect:', '-F', 'file=@%s;type=application/octet-stream' % localfile, '-o', tmp_file, url ] util.subprocess_call(cmd) # 读取输出结果 with open(tmp_file, 'r') as fp: result = json.load(fp) return result
def upload_data(self, savedir, filename, filedata): ''' 上传文件数据 @param savedir: 远程保存路径 @param filename: 保存文件名 @param filedata: 文件数据 @return: ''' savedir = util.encode_utf8(savedir) filename = util.encode_utf8(filename) url = 'https://c.pcs.baidu.com/rest/2.0/pcs/file' query = [ ('method', 'upload'), ('app_id', _APP_ID), ('ondup', 'newcopy'), ('dir', savedir), ('filename', filename), ('BDUSS', urllib.unquote(self.bduss)) ] url = '%s?%s' % (url, urllib.urlencode(query)) _logger.debug('upload url: %s' % url) req = http.MultipartRequest(url) req.set_parts([ http.FileDataPart('file', filename, filedata) ]) req.add_header('User-Agent', _USER_AGENT) try: resp = urllib2.urlopen(req) return json.load(resp) except urllib2.HTTPError as he: return json.load(he)
def upload_curl(self, savedir, localfile): ''' 使用curl上传文件 上传大文件时使用此接口,可显示上传进度 @param savedir: 远端保存路径 @param localfile: 本地文件完整路径 ''' savedir = util.encode_utf8(savedir) localfile = util.encode_utf8(localfile) url = 'https://c.pcs.baidu.com/rest/2.0/pcs/file' query = [ ('method', 'upload'), ('app_id', _APP_ID), ('ondup', 'newcopy'), ('dir', savedir), ('filename', os.path.basename(localfile)), ('BDUSS', urllib.unquote(self.bduss)) ] url = '%s?%s' % (url, urllib.urlencode(query)) # 创建临时文件用来保存输出结果 _, tmp_file = tempfile.mkstemp(suffix='.json') # 调用curl上传文件 cmd = ['curl', '-A', _USER_AGENT, '-H', 'Expect:', '-F', 'file=@%s;type=application/octet-stream' % localfile, '-o', tmp_file, url] util.subprocess_call(cmd) # 读取输出结果 with open(tmp_file, 'r') as fp: result = json.load(fp) return result
def upload(self, savedir, localfile): ''' 上传文件 @param savedir: 远端保存路径 @param localfile: 本地文件完整路径 ''' savedir = util.encode_utf8(savedir) localfile = util.encode_utf8(localfile) url = 'https://c.pcs.baidu.com/rest/2.0/pcs/file' query = [ ('method', 'upload'), ('app_id', _APP_ID), ('ondup', 'newcopy'), ('dir', savedir), ('filename', os.path.basename(localfile)), ('BDUSS', urllib.unquote(self.bduss)) ] url = '%s?%s' % (url, urllib.urlencode(query)) _logger.debug('upload url: %s' % url) req = http.MultipartRequest(url) req.set_parts([ http.FilePart('file', localfile) ]) req.add_header('User-Agent', _USER_AGENT) try: resp = urllib2.urlopen(req) return json.load(resp) except urllib2.HTTPError as he: return json.load(he)
def upload(self, savedir, localfile): ''' 上传文件 @param savedir: 远端保存路径 @param localfile: 本地文件完整路径 ''' savedir = util.encode_utf8(savedir) localfile = util.encode_utf8(localfile) url = 'https://c.pcs.baidu.com/rest/2.0/pcs/file' query = [('method', 'upload'), ('app_id', _APP_ID), ('ondup', 'newcopy'), ('dir', savedir), ('filename', os.path.basename(localfile)), ('BDUSS', urllib.unquote(self.bduss))] url = '%s?%s' % (url, urllib.urlencode(query)) _logger.debug('upload url: %s' % url) req = http.MultipartRequest(url) req.set_parts([http.FilePart('file', localfile)]) req.add_header('User-Agent', _USER_AGENT) try: resp = urllib2.urlopen(req) return json.load(resp) except urllib2.HTTPError as he: return json.load(he)
def upload_data(self, savedir, filename, filedata): ''' 上传文件数据 @param savedir: 远程保存路径 @param filename: 保存文件名 @param filedata: 文件数据 @return: ''' savedir = util.encode_utf8(savedir) filename = util.encode_utf8(filename) url = 'https://c.pcs.baidu.com/rest/2.0/pcs/file' query = [('method', 'upload'), ('app_id', _APP_ID), ('ondup', 'newcopy'), ('dir', savedir), ('filename', filename), ('BDUSS', urllib.unquote(self.bduss))] url = '%s?%s' % (url, urllib.urlencode(query)) _logger.debug('upload url: %s' % url) req = http.MultipartRequest(url) req.set_parts([http.FileDataPart('file', filename, filedata)]) req.add_header('User-Agent', _USER_AGENT) try: resp = urllib2.urlopen(req) return json.load(resp) except urllib2.HTTPError as he: return json.load(he)