如何使用JS SDK将文件上传到Dropbox?

时间:2019-06-13 08:00:37

标签: javascript cordova dropbox phonegap dropbox-sdk

  1. 我不确定是将文件读取为Array Buffer还是dataURI或二进制流。哪个更好?

  2. 此外,这些方法是否会占用大量内存,并使应用程序/设备运行缓慢,尤其是在上传150mb左右的大文件时?

  3. 还有另一件事是该文件是否将像原来一样是“可打开的”? 示例:如果我使用其中一种方法读取了.zip文件,然后稍后下载了该文件,它还会以ZIP格式打开吗?

由于这种类比,我感到部分困惑:我们可以轻松地查看JPG或PNG文件,也可以使用它们的dataURI(base-64)在浏览器中显示它们...但是当我们保存base-64字符串时作为JPG或PNG文件,无法看到该图像。因此,我不明白如何读取文件内容才能将其上传到保管箱(请记住,文件大小也可能约为150MB),并且仍然保留文件的原始格式。

假设我要上传.mp3或.zip文件。然后,如何使用Javascript Dropbox SDK将其上传到用户的Dropbox帐户?

请清除这种混乱并帮助我!

谢谢!

1 个答案:

答案 0 :(得分:0)

使用the Dropbox API v2 JavaScript SDK时:

  1. 上传文件时,应在contents参数中提供数据,例如在the filesUpload method上。目前应该支持stringBuffer

an example of that in node here

  1. 对于像这样的大文件,您应该使用上传会话,这样可以上传较小的文件:

an example of using these here。您可以选择制作每块的大小。

  1. 您上传到Dropbox的文件将完全包含您在上传调用中提供的数据。因此,如果您上传一个zip文件,然后稍后再次下载,它仍将是相同格式,对于zip文件,这意味着您将能够解压缩它。

请注意,上传文件数据时,请勿对文件数据应用任何额外的编码。例如,当在浏览器中显示图像时,您可以对数据进行base64编码以使其可以在数据URI中使用,但在上传文件进行存储时则不应这样做。