使用 Dropzone 将文件上传到 Google 驱动器
Upload files to Google Drive using Dropzone
这是我当前用于上传任务的代码:
$imagesDropzone.dropzone
init: ->
this.on 'sending', (file, xhr) ->
xhr.setRequestHeader 'Content-Type', file.type
url: 'https://www.googleapis.com/upload/drive/v2/files?uploadType=media'
method: 'post'
maxFileSize: 5
paramName: 'images-dropzone-input'
headers:
'Authorization': "Bearer #{ uploadBundle.accessToken }"
addRemoveLinks: 'dictRemoveFile'
而且它不起作用(所有上传的文件都损坏了)。
我知道我需要做这样的事情:
xhr.send file
但我不知道把这个电话打到哪里去。如何覆盖 Dropzone 的 send
行为?
看了Dropzone的源代码后,我想出了一个方法,就是重写实例方法uploadFiles
:
imagesDropzoneInstance = new Dropzone '#imagesDropzone',
url: 'https://www.googleapis.com/upload/drive/v2/files?uploadType=media'
method: 'post'
maxFileSize: 5
paramName: 'images-dropzone-input'
headers:
'Authorization': "Bearer #{ uploadBundle.accessToken }"
addRemoveLinks: 'dictRemoveFile'
imagesDropzoneInstance.uploadFiles = (files) ->
uploadFiles: (files) ->
.. copy the uploadFiles method of Dropzone, modify, then paste here..
# Add the end:
xhr.send files[0] # This overrides the default upload behavior.
这是我当前用于上传任务的代码:
$imagesDropzone.dropzone
init: ->
this.on 'sending', (file, xhr) ->
xhr.setRequestHeader 'Content-Type', file.type
url: 'https://www.googleapis.com/upload/drive/v2/files?uploadType=media'
method: 'post'
maxFileSize: 5
paramName: 'images-dropzone-input'
headers:
'Authorization': "Bearer #{ uploadBundle.accessToken }"
addRemoveLinks: 'dictRemoveFile'
而且它不起作用(所有上传的文件都损坏了)。 我知道我需要做这样的事情:
xhr.send file
但我不知道把这个电话打到哪里去。如何覆盖 Dropzone 的 send
行为?
看了Dropzone的源代码后,我想出了一个方法,就是重写实例方法uploadFiles
:
imagesDropzoneInstance = new Dropzone '#imagesDropzone',
url: 'https://www.googleapis.com/upload/drive/v2/files?uploadType=media'
method: 'post'
maxFileSize: 5
paramName: 'images-dropzone-input'
headers:
'Authorization': "Bearer #{ uploadBundle.accessToken }"
addRemoveLinks: 'dictRemoveFile'
imagesDropzoneInstance.uploadFiles = (files) ->
uploadFiles: (files) ->
.. copy the uploadFiles method of Dropzone, modify, then paste here..
# Add the end:
xhr.send files[0] # This overrides the default upload behavior.