gpt4 book ai didi

android - 上传/下载文件 CloudRail Android/Dropbox

转载 作者:行者123 更新时间:2023-11-29 01:02:01 25 4
gpt4 key购买 nike

我正在使用 CloudRail 将文件从 Dropbox 上传/下载到我的 Android 设备。我不知道如何实现 uploaddownload方法。在创建要上传的简单 files.txt 时,我迷失了文件路径目录。

我想做的是将一个简单的字符串变量写入/读取到 file.txt 并将其上传到保管箱。在设备的外部存储器中创建文件然后上传它们也是一种选择。

我也在 GitHub 上用 CloudRail 示例做了一些研究,但是有很多关于可视化界面的代码,我不需要,这让我很难找到解决方案。我还找到了一些相关的 post满足我的需要,但我无法重现它。此外,我在 CloudRail 论坛上发帖时没有任何回复。

提前感谢您的宝贵时间

    private void uploadItem(final String name, final Uri uri) {
startSpinner();
new Thread(new Runnable() {
@Override
public void run() {
InputStream fs = null;
long size = -1;
try {
fs = getOwnActivity().getContentResolver().openInputStream(uri);
size = getOwnActivity().getContentResolver().openAssetFileDescriptor(uri, "r").getLength();
} catch (Exception e) {
stopSpinner();
getOwnActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
Toast.makeText(context, "Unable to access file!", Toast.LENGTH_SHORT).show();
}
});
return;
}

String next = currentPath;
if(!currentPath.equals("/")) {
next += "/";
}
next += name;
getService().upload(next, fs, size, true);

getOwnActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
updateList();
}
});
}
}).start();
}

最佳答案

使用 CloudRail SDK 的上传功能总共使用了 4 个参数,如我们的 documentation 中所述。 :

/**
* @param path The destination path for the new file
* @param stream The file content that will be uploaded
* @param size The file size measured in bytes
* @param overwrite Indicates if the file should be overwritten. Throws an error if set to false and the specified file already exists
* @throws IllegalArgumentException Null or malformatted path, null stream or negative file size
*/
void upload(
String path,
InputStream stream,
Long size,
Boolean overwrite
);

如上所示,stream 参数应指向应上传的源字节,在您的情况下,stream 参数当前为NULL。流来自何处(SD 卡、磁盘、内存等)并不重要,只要生成的字节在 stream 参数中发送即可。您的代码的可能解决方案是:(假设创建的文件存在且已成功加载)

File temp = new File(context.getFilesDir(), String.valueOf(System.nanoTime()));
InputStream stream = new FileInputStream(temp);;
long size = temp.length();
dropbox.upload("/TestFolder",stream,size,true);

关于android - 上传/下载文件 CloudRail Android/Dropbox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50399579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com