如何通过API将服务器文件上传到Dropbox

时间:2017-04-24 14:29:55

标签: php jquery api dropbox

如何使用他们的API上传服务器上已存在的文件,其中包含免费的acccess URL(http://www.example.com/files/test.pdf)到dropbox文件夹。 我正在尝试使用jquery ajax

$.ajax({
        url: 'https://content.dropboxapi.com/2/files/upload',
        type: 'post',
        data: file,
        processData: false,
        contentType: 'application/octet-stream',
        headers: {
            "Authorization": "Bearer TOKEN_KEY_HERE",
            "Dropbox-API-Arg": '{"path": "/test_Delivery_note_digital/test.pdf","mode": "add","autorename": true,"mute": false}'
        },
        success: function (data) {
            console.log(data);
        },
        error: function (data) {
            console.error(data);
        }
    });

DROPBOX http文档说需要:

curl -X POST https://content.dropboxapi.com/2/files/upload \
--header "Authorization: Bearer <get access token>" \
--header "Dropbox-API-Arg: {\"path\": \"/Homework/math/Matrices.txt\",\"mode\": \"add\",\"autorename\": true,\"mute\": false}" \
--header "Content-Type: application/octet-stream" \
--data-binary @local_file.txt

我找到了有输入/文件的示例,例如。 on Change将此文件直接发送到dropbox,这非常有效......

    $('#inputId').change(function(e) {
// ... file selected from a file <input>
file = e.target.files[0];
console.log(file);

当我更改文件输入的值后传递文件时,它按照我的说法工作,没有任何实际上传。它以某种方式获得有关该文件的所有二进制信息。

在console.log上给我:

File {name: "DeliveryNote_57D029F2-PO88.pdf", lastModified: 1490458856935, lastModifiedDate: Sat Mar 25 2017 18:20:56 GMT+0200 (FLE Standard Time), webkitRelativePath: "", size: 31823…}

如何为服务器上的任何文件获取相同的信息(json构造)而不是通过输入/文件? 或者是否有其他方法可以将文件从服务器传递(上传)到Dropbox?

0 个答案:

没有答案