извлечение zip-файла и сохранение его в поле изображения или файла - PullRequest
0 голосов
/ 05 августа 2020

в моем проекте django я хочу, чтобы пользователь загрузил файл epub (в основном файл rar). я хочу извлечь файл epub, чтобы получить покрытие этого epub и сохранить его в поле изображения или поле файла

Моя идея состоит в том, чтобы извлечь файл с помощью модуля zipfile в качестве двоичных данных, но как преобразовать двоичные данные в поле изображения или двоичное поле

@api_view(['POST'])
@authentication_classes([TokenAuthentication])
@permission_classes([IsAuthenticated])
def create_book(request, *args, **kwargs):
    serializer = Book_serialzier(
        data=request.data, context={"user": request.user})
    serializer.initial_data["title"] = serializer.initial_data.get(
        "book").name.split(".epub")[0]
    serializer.initial_data["user"] = request.user.id
    
    #here i started extracting
    with zipfile.ZipFile(serializer.initial_data.get("book"), 'r') as my_zip:
        if "cover.jpeg" in my_zip.namelist():
            serializer.initial_data["cover"] = my_zip.read("cover.jpeg")


    if(serializer.is_valid(raise_exception=True)):
        book = serializer.save()
    return Response(serializer.data)

...