獲取上傳文件后,將上傳文件流寫入到服務器文件中后.文件內容多了http流相關信息
--X-INSOMNIA-BOUNDARY
Content-Disposition: form-data; name="file"; filename="a.txt"
Content-Type: text/plain
Hello
--X-INSOMNIA-BOUNDARY--
應該怎么獲取上傳文件信息保存的時候,只會是原文件.
補充下我的源代碼:
class UploadView(APIView):
'''
上傳文件專用
'''
parser_classes = (FileUploadParser, )
def put(self, request, filename, format = None):
'''
上傳
'''
up_file = request.data['file']
base_dir = settings.BASE_DIR
print filename
storage = base_dir + '/' + 'storage/'
new_file = storage + up_file.name
with open(new_file, 'wb+') as destination:
for chunk in up_file.chunks():
destination.write(chunk)
destination.close()
# up_file.new_file('file', new_file, up_file.content_type, up_file.size, up_file.charset, up_file.content_type_extra)
# with open(new_file, 'wb+') as destination:
# for line in up_file:
# destination.write(line)
# destination.close()
# # destination.write(up_file.multiple_chunks())
# # destination.close()
return Response(up_file.name, status.HTTP_201_CREATED)看你的保存內容應該是使用類似BaseHTTPServer這種python自帶的類完成的上傳服務器。
https://github.com/smilejay/p...
如果是這樣的話,那些http流的相關信息是沒有什么好的辦法的,只能自己通過類似readline的方式,一行一行的讀取,并且手動去除http相關信息。
所幸這些都是http信息都是有相關標準的,例如 1-4 行為http信息, 5-(-2)行為上傳信息,最后一行為http信息(這只是隨便舉得一個例子)
所以想要通過這種方式來完成上傳文件的話,需要自己去研究下rfc標準:
http://www.ietf.org/rfc/rfc1867
http://www.vivtek.com/rfc1867...
但是看你標簽上是有django的,所以應該會更簡單省事些的方式,就是使用django的request.FILES了。
參考地址:
https://docs.djangoproject.co...
示例:
# 獲取文件名
request.FILES['filename'].name
# 獲取全部文件
for filename, file in request.FILES.iteritems():
name = request.FILES[filename].name
# 文件內容(這個不確定,請自行查看文檔)
file.readall()北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構,是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學校辦產(chǎn)業(yè)為響應國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復興的升級產(chǎn)業(yè)鏈。利用北京大學優(yōu)質教育資源及背
博為峰,中國職業(yè)人才培訓領域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術, 熟練的跨平臺面向對象開發(fā)經(jīng)驗,技術功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術顧問,美國Dachieve 系統(tǒng)架構師,美國AngelEngineers Inc. 系統(tǒng)架構師。