2015-06-26 5 views
2

Это мой текущий код, используемый для выполнения этой задачи загрузки данных:Загрузка файлы в Google Drive, используя 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?

ответ

0

После взглянуть на исходный код 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. 
Смежные вопросы