I am trying to upload video files to vimeo, this is my code views.py
def upload_to_vimeo(request):
token = 'xxxxx'
if request.method == 'POST':
video_file = request.POST.get("video_file")
v = vimeo.VimeoClient(
token=token,
)
video_uri = v.upload(video_file)
print(video_uri)
return redirect('home')
return render(request, 'forms/video_upload_form.html', {})
template
<form action="." method="POST" enctype="multipart/form-data">
{% csrf_token %}
<input type="file">
<input type="submit" class="button" value="Upload">
</form>
but it throws error
AttributeError at /upload_to_vimeo/
'NoneType' object has no attribute 'read'
but I can directly upload without a form as follows
v = vimeo.VimeoClient(
token=token,
)
video_uri = v.upload('client_admin/test1.mp4')
How I can do it with a form, any help
Edit
Traceback:
File "/home/biju/Desktop/Dev/multitenant/lib/python3.8/site-packages/vimeo/upload.py" in __get_file_size
193. return os.path.getsize(filename)
File "/usr/lib/python3.8/genericpath.py" in getsize
50. return os.stat(filename).st_size
During handling of the above exception (stat: path should be string, bytes, os.PathLike or integer, not NoneType), another exception occurred:
File "/home/biju/Desktop/Dev/multitenant/lib/python3.8/site-packages/django/core/handlers/exception.py" in inner
34. response = get_response(request)
File "/home/biju/Desktop/Dev/multitenant/lib/python3.8/site-packages/django/core/handlers/base.py" in _get_response
115. response = self.process_exception_by_middleware(e, request)
File "/home/biju/Desktop/Dev/multitenant/lib/python3.8/site-packages/django/core/handlers/base.py" in _get_response
113. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/biju/Documents/mtenant/client_admin/views.py" in upload_to_vimeo
773. video_uri = v.upload(video_file)
File "/home/biju/Desktop/Dev/multitenant/lib/python3.8/site-packages/vimeo/upload.py" in upload
43. filesize = self.__get_file_size(filename)
File "/home/biju/Desktop/Dev/multitenant/lib/python3.8/site-packages/vimeo/upload.py" in __get_file_size
195. return len(filename.read())
Exception Type: AttributeError at /upload_to_vimeo/
Exception Value: 'NoneType' object has no attribute 'read'
This is the error traceback and urls file is as follows
path('upload_to_vimeo/', upload_to_vimeo, name='upload_to_vimeo'),
request.FILES
not inrequest.POST
.request.FILES
urls.py
and the complete traceback?