Java 如何使用Glide从服务器共享图像视图中加载的图像
我在Java 如何使用Glide从服务器共享图像视图中加载的图像,java,android,xml,firebase,android-glide,Java,Android,Xml,Firebase,Android Glide,我在活动中有一个图像视图和共享按钮。在图像视图中,我使用滑动从url加载图像。它工作得很好。当用户单击共享按钮时,我想共享在图像视图中加载的图像 我看到了几个答案。每个人都建议我采取以下步骤 将映像保存到内部存储器 获取图像路径并共享它 共享后删除它 以下是我编写的保存和共享图像代码: BtnShare.setOnClickListener(new View.OnClickListener() { public void onClick(View v) {
活动
中有一个图像视图
和共享按钮
。在图像视图
中,我使用滑动
从url加载图像
。它工作得很好。当用户单击共享按钮时,我想共享在图像视图
中加载的图像
我看到了几个答案。每个人都建议我采取以下步骤
将映像保存到内部存储器
获取图像路径并共享它
共享后删除它
以下是我编写的保存和共享图像代码:
BtnShare.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
BitmapDrawable draw = (BitmapDrawable) myImageView.getDrawable();
Bitmap bitmap = draw.getBitmap();
File root = Environment.getExternalStorageDirectory();
File cachePath = new File(root.getAbsolutePath() + "/MyApp/image.jpg");
try {
cachePath.createNewFile();
FileOutputStream ostream = new FileOutputStream(cachePath);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, ostream);
ostream.close();
} catch (Exception e) {
e.printStackTrace();
}
Intent share = new Intent(Intent.ACTION_SEND);
share.setType("image/*");
share.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(cachePath));
startActivity(Intent.createChooser(share, "Share via"));
cachePath.deleteOnExit();
}
});
这是我的问题。我已使用Glide
将图像加载到图像视图
。代码如下:
Glide.with( this )
.asBitmap()
.load( url )
.placeholder(R.drawable.placeholder) // any placeholder to load at start
.error(R.drawable.imagenotfound) // any image in case of error
.diskCacheStrategy( DiskCacheStrategy.ALL )
.into(myImageView);
单击共享按钮时,应用程序崩溃,并显示以下错误
W/System.err: java.io.IOException: No such file or directory
W/System.err: at java.io.UnixFileSystem.createFileExclusively0(Native Method)
我试过几个,但不知道如何解决这个问题。请帮助我找到一些解决方案。您确定在内部存储上指向了正确的路径吗?