当我想使用适用于Android的Dropbox SDK为文件生成长的可共享网址时,我遇到了问题。我的意思是,我还没有找到创建该网址的方法。
例如,我在app文件夹中有一个名为profile_image.jpg
的文件。我使用此代码上传文件(如Dropbox示例):
public String subirImagenDropbox(File file) {
AndroidAuthSession sesion = buildSession(); //Like the Dropbox Example
DropboxAPI<AndroidAuthSession> mApi = new DropboxAPI<AndroidAuthSession>(sesion);
checkAppKey();
try {
FileInputStream fis = new FileInputStream(file);
String name = file.getName();
mRequest = mApi.putFileOverwriteRequest("/empleados/img_perfil/" + name,
fis,
file.length(),
new ProgressListener() {
@Override
public long progressInterval() {
return 100;
}
@Override
public void onProgress(long bytes, long total) {
System.err.println(bytes + " bytes de " + total);
}
});
if (mRequest != null) {
DropboxAPI.Entry upload = mRequest.upload(); //Here upload to Dropbox
DropboxAPI.DropboxLink share = mApi.share(upload.path); //Generate short shareable URL. Expire in 31 days
System.err.println("URL: " + share.url); //Print in LogCat for debug purpose
}
}
//... A lot catchs ...
return ""; //Return the long shareable URL
}
此代码完美地上传文件,但可共享的网址如下:
http://db.tt/abcd123
我希望(我添加了?dl=1
):
https://www.dropbox.com/s/abcdefghi1234567/profile_image.jpg?dl=1
(我添加了?dl=1
)。
我使用Java SDK(dbxClient.createShareableUrl(metadata.path)
)完成了它,但在Android中则不同。我希望有人可以帮助我解决这个小小的不便。
谢谢!