用urllib下载远程文件并转存到hdfs服务器,在下载时,下载地址中不一定包含文件名,需要从连接信息中获取。
1 file_url = request.form.get('file_url') 2 fo = urllib.urlopen(file_url) 3 blob = fo.read() 4 file_size = len(blob) 5 if fo.info().has_key('Content-Disposition'): 6 file_name = fo.info()['Content-Disposition'].split('filename=')[1] 7 file_name = file_name.replace('"', '').replace("'", "") 8 print '-in header' 9 else: 10 file_name= os.path.basename(file_url) 11 12 file_ext = get_file_ext(file_name.lower()) 13 remark = request.form.get("remark", '') 14 # 存储到hdfs