Como dice en el título, estoy tratando de cargar un modelo.pkl y guardarlo en una API hecha en django. Logro guardar el modelo.pkl correctamente en la API, sin embargo, el archivo se carga de forma corrupta, porque no puedo leer el archivo pickle.
Estoy abierto a cualquier solución que pueda hacer que el archivo pickle se cargue, almacene y lea en la 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, '-'.Al usar FileUploadParser, el cuerpo completo de la solicitud debe ser el contenido del archivo, no envíe el archivo como datos de formulario.
Para hacer esto en Postman, seleccione "binario" como tipo de datos en lugar de "datos de formulario" y seleccione su archivo allí
Para establecer el nombre del archivo, debe establecer un encabezado "Contenido-Disposición" y pasar el attachment; filename=<your_filename.ext>