【发布时间】:2020-11-24 00:10:12
【问题描述】:
我很难将名称中包含空格的文件传递到 Twilio 聊天中。
忘记我正在使用 Twilio 的事实,而只是集中精力尝试从 Android 手机中上传文件。我的安卓手机上有一张图片,我发现它的路径为/Internal storage/Download/4893079.jpg
以下是完整代码:
public void testing() {
Messages messagesObject = channel.getMessages();
try {
messagesObject.sendMessage(
Message.options()
.withMedia(new FileInputStream("/Internal%20storage/Download/4893079.jpg"), "image/jpeg")
.withMediaFileName("4893079.jpg")
.withMediaProgressListener(new ProgressListener() {
@Override
public void onStarted() {
System.out.println("Upload started");
}
@Override
public void onProgress(long bytes) {
System.out.println("Uploaded " + bytes + " bytes");
}
@Override
public void onCompleted(String mediaSid) {
System.out.println("Upload completed");
}
}),
new CallbackListener<Message>() {
@Override
public void onSuccess(Message msg) {
System.out.println("Successfully sent MEDIA message");
}
@Override
public void onError(ErrorInfo error) {
System.out.println("Error sending MEDIA message");
}
});
} catch (FileNotFoundException e) {
System.out.println("FAILED HORRIBLY");
System.out.println(e);
e.printStackTrace();
}
}
但是运行应用程序我最终会遇到错误,
java.io.FileNotFoundException: /Internal%20storage/Download/4893079.jpg (No such file or directory)
如图所示,我尝试用%20 替换空格,但这没有用。我也试过\ 、\\ 。然而,他们都没有工作。我看过Opening a local Android File with spaces、Save file in Android with spaces in file name。
我应该如何更换空间?
【问题讨论】:
-
“我发现它的路径是/Internal storage/Download/4893079.jpg”你确定吗?
-
您看到的路径并不总是在您的应用程序中使用的路径。我建议创建一个短文件选择器应用程序并打印 uri 以从应用程序的角度接收路径。
标签: java android filenotfoundexception