0
我想要一個文件上傳系統在Django Rest框架中工作。序列化上傳的文件數據Django Rest框架
我要上傳的文件是.gpx文件,它們是自定義xml文件。我不想將文件存儲在數據庫中,而是想從中提取信息,然後將其輸入到我的模型中。
我有一個函數,需要一個臨時文件,然後提取信息,然後根據需要創建模型元素。我要做的是在文件上傳並傳遞給該函數之前對文件執行一些檢查。
我該怎麼做?
文件上傳目前完成的文檔(見下文),這是一個通用的APIView和put命令。這很好,我只想知道在上傳之前檢查這個文件的有效性的最好方法是什麼。
views.py
class FileUploadView(views.APIView):
parser_classes = (FileUploadParser,)
def put(self, request, filename, format=None):
up_file = request.data['file']
SaveGPXtoModel(up_file, request.user)
return Response(status=204)
如若API做這些檢查或應假定該文件已經被驗證?
在Django中,這些檢查將由表單處理,我應該使用序列化程序來執行這些檢查嗎?
如果串行器是要走的路,那麼是否有一個文件作爲輸入和各種數據點作爲輸出是否重要?
總是明確驗證用戶輸入。 –
而且不要依賴文件擴展名。將惡意內容更改爲'.gpx'就太容易了 –