gpt4 book ai didi

android - 打开失败的 EISDIR(是一个目录)..如何解决这个问题?

转载 作者:太空宇宙 更新时间:2023-11-03 13:29:31 32 4
gpt4 key购买 nike

每次它给我“无法解码流 java.io.FileNotFoundException:/: open Faild EISDIR (Is a Directory)”

我怎样才能摆脱这个错误..这个类在我完成的许多任务中都运行良好!!

这是我用来获取位图的类

private class ImageLoaderTask extends AsyncTask<HashMap<String, Object>, Void, HashMap<String, Object>>{

@Override
protected HashMap<String, Object> doInBackground(HashMap<String, Object>... hm) {

InputStream iStream=null;
String imgUrl = (String) hm[0].get("image");
int position = (Integer) hm[0].get("position");

URL url;
try {
url = new URL(imgUrl);

// Creating an http connection to communicate with url
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();

// Connecting to url
urlConnection.connect();

// Reading data from url
iStream = urlConnection.getInputStream();

// Getting Caching directory
File cacheDirectory = getBaseContext().getCacheDir();

// Temporary file to store the downloaded image
File tmpFile = new File(cacheDirectory.getPath() + "/wpta_"+position+".png");

// The FileOutputStream to the temporary file
FileOutputStream fOutStream = new FileOutputStream(tmpFile);

// Creating a bitmap from the downloaded inputstream
Bitmap b = BitmapFactory.decodeStream(iStream);

// Writing the bitmap to the temporary file as png file
b.compress(Bitmap.CompressFormat.PNG,100, fOutStream);

// Flush the FileOutputStream
fOutStream.flush();

//Close the FileOutputStream
fOutStream.close();

// Create a hashmap object to store image path and its position in the listview
HashMap<String, Object> hmBitmap = new HashMap<String, Object>();

// Storing the path to the temporary image file
hmBitmap.put("photo",tmpFile.getPath());
Log.d("photopah", tmpFile.getPath());

// Storing the position of the image in the listview
hmBitmap.put("position",position);

// Returning the HashMap object containing the image path and position
return hmBitmap;

}catch (Exception e) {
e.printStackTrace();
}
return null;
}

最佳答案

您需要调用:

tmpFile.getParentFile().mkdirs();

在创建 FileOutputStream 之前。

查看更多:FileOutputStream crashes with "open failed: EISDIR (Is a directory)" error when downloading image

关于android - 打开失败的 EISDIR(是一个目录)..如何解决这个问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15050145/

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