[英]How to upload and save a pickle file to a django rest framework?
正如標題中所說,我正在嘗試上傳 model.pkl 並將其保存在 django 制造的 API 中。 我設法將 model.pkl 正確保存在 API 中,但是文件以損壞的方式上傳,因為我無法讀取泡菜文件。
我願意接受任何可以在 API 中上傳、存儲和讀取泡菜文件的解決方案。
class FileUploadView(APIView):
parser_classes = (FileUploadParser,)
def put(self, request):
file = request.data.get('file', None)
file_name = f'path/{file.name}'
path = default_storage.save(name=file_name, content=ContentFile(file.read()))
tmp_file = os.path.join(settings.MEDIA_ROOT, path)
if file is not None:
return Response(f'File: {file.name} successfully uploaded and saved!', status=HTTP_200_OK)
else:
return Response(f'File not found!', status=HTTP_400_BAD_REQUEST)
def read_PickleModel(path_to_PickleModel):
with open(path_to_PickleModel, 'rb') as f:
pickle_model = pickle.load(f)
return pickle_model
read_PickleModel(path_to_PickleModel)
Traceback:
DEBUG: An exception has ocurred: invalid load key, '-'.
我是新手,請在投票之前告訴我您認為我可以如何改進問題以獲得准確的解決方案。
使用FileUploadParser時,請求的整個主體應該是文件內容,不要將文件作為表單數據發送。
為此,請在 Postman、select “二進制”而不是“表單數據”和 select 作為數據類型中執行此操作
要設置文件名,您需要設置 header "Content-Disposition" 並傳遞attachment; filename=<your_filename.ext>
attachment; filename=<your_filename.ext>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.