用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