2016年1月11日 星期一

Django在Python2/3的環境下,上傳檔案的差異

在Python 2的情況,取用request.POST裡的檔案,其型態會是str,不需要額外處理就能使用。

但是在Python 3的情況,request.POST的檔案變成bytes,不轉換成str就沒辦法處理,所以我是用以下的方式:
f = TextIOWrapper(request.FILES['file1'].file, encoding=request.encoding)
來源參考這一篇:
http://stackoverflow.com/questions/26724453/django-uploaded-file-is-binary-is-it-possible-to-change-to-utf-so-readline