Help to solve the error : Cannot upload a blob after already uploading via url
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-29-2019
03:18 PM
Hi, I need the help of the community to understand this error:
"<Response [500]> Cannot upload a blob after already uploading via url".
The link that I am following as reference: Submission Comments - Canvas LMS REST API Documentation
That happened when I tried to upload a file as comment to the canvas.
import requests
import osdef upload_file(self, url):
with open(url, 'rb') as f:
file_content = f.read()
return file_contentdef upload_jn_to_canvas(self😞
# Step 1 - tell Canvas you want to upload a file
post_api_url = '/api/v1/courses/:course_id/assignments/:assignment_id/submissions/:user_id/comments/files'
session = requests.Session()
session.headers = {'Authorization': 'Bearer {0}'.format(self.token)}
response = session.post(post_api_url,
data={
'name': name_file,
'size': os.path.getsize(jupyter_notebook_file),
'parent_folder_path': '/',
'content-type': 'binary/octet-stream'
})
response.raise_for_status()
print('Session Headers: ', session.headers)
print('Post URL: ', post_api_url)
print(response.json())
# Step 2 - upload file
parameters = list(response.json()['upload_params'].items())
parameters.append((u'file', self.upload_file(jupyter_notebook_file)))
response2 = requests.post(response.json()['upload_url'], files=parameters)
response2.raise_for_status()
print(response2.json())
print(response2)