Reputation: 303
models.py
from django.db import models
from cloudinary.models import CloudinaryField
class File(models.Model):
caption = models.TextField(blank=True)
file = CloudinaryField()
# trying to delete the File model and cloudinary file (error)
def delete(self, *args, **kwargs):
self.file.delete(*args, **kwargs)
super().delete(*args, **kwargs)
settings.py
import cloudinary
import cloudinary.uploader
import cloudinary.api
...
INSTALLED_APPS = [
'....',
'myapp',
'cloudinary',
]
...
cloudinary.config(
cloud_name = "...",
api_key = "...",
api_secret = "...",
secure = True
)
i can upload images only, when i try to upload any (video, pdf, audio, zip) it says INVALID IMAGE FILE. and sometimes file size error occurs when image size exceeds 10 mb size limit.
This is The Error i am facing. (when i tried to upload a video file)
Error at /
Invalid image file
Request Method: POST
Request URL: http://127.0.0.1:8000/
Django Version: 3.2.9
Exception Type: Error
Exception Value:
Invalid image file
Exception Location: C:\Users\MIG 29\Desktop\Project\testCloudinary\vEnv\lib\site-packages\cloudinary\uploader.py, line 522, in call_api
Python Executable: C:\Users\MIG 29\Desktop\Project\testCloudinary\vEnv\Scripts\python.exe
Python Version: 3.9.6
Python Path:
['C:\\Users\\MIG 29\\Desktop\\Project\\testCloudinary',
'c:\\users\\mig 29\\appdata\\local\\programs\\python\\python39\\python39.zip',
'c:\\users\\mig 29\\appdata\\local\\programs\\python\\python39\\DLLs',
'c:\\users\\mig 29\\appdata\\local\\programs\\python\\python39\\lib',
'c:\\users\\mig 29\\appdata\\local\\programs\\python\\python39',
'C:\\Users\\MIG 29\\Desktop\\Project\\testCloudinary\\vEnv',
'C:\\Users\\MIG '
'29\\Desktop\\Project\\testCloudinary\\vEnv\\lib\\site-packages']
Server time: Sun, 05 Dec 2021 06:14:04 +0000
Upvotes: 2
Views: 1032
Reputation: 1
This comes many months later, but I hope it helps someone out there.
So, in addition to the above answer, you can upload various file types by setting the resource type in your model field to:
image
video
raw
or
auto
For example:
file = CloudinaryField(resource_type='raw')
I'm not sure how to delete the uploaded resource from the server-side, if that's what the second part of the inquiry was asking.
This resource: Upload API Reference | Cloudinary helped me.
Upvotes: 0
Reputation: 303
thank me, i just found the way to upload (images, videos, audios) too.. it goes like this. in models.py
file = CloudinaryField(resource_type='')
Upvotes: 3