Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
获取FileNotFoundException,即使android中存在文件_Android_Android Asynctask - Fatal编程技术网

获取FileNotFoundException,即使android中存在文件

获取FileNotFoundException,即使android中存在文件,android,android-asynctask,Android,Android Asynctask,我正在尝试从链接中获取图像,我的操作如下: public class FetchImage extends AsyncTask<String, Void, Drawable> { public static Drawable LoadImageFromWeb(String url) { try { InputStream is = (InputStream) new URL(url).getContent(); Drawable d = Dr

我正在尝试从链接中获取图像,我的操作如下:

public class FetchImage extends AsyncTask<String, Void, Drawable> {

public static Drawable LoadImageFromWeb(String url) {
    try {
        InputStream is = (InputStream) new URL(url).getContent();
        Drawable d = Drawable.createFromStream(is, "src name");
        return d;
    } catch (IOException e) {
        Log.e("HATA", "THERE is an error", e);
        return null;
    }
}

@Override
protected Drawable doInBackground(String... params) {
    String url = params[0];
    return LoadImageFromWeb(url);
}

@Override
protected void onPostExecute(Drawable drawable) {

}
真奇怪。这可能是因为链接中的一些土耳其字符,比如“ı”,而不是“我”吗?如果是这样的话,我该如何修复它

谢谢

编辑:我刚刚意识到另一件事,当我在浏览器中打开followink链接时

7-500x500.jpg

我看到链接发生了变化,变成:

那么,为什么会发生这种情况,为什么我在尝试获取图像时不能使用第一个链接?

关于“ı”土耳其字符的说法是正确的:如果您查看您的答案,您将看到Stackoverflow不会自动识别给您带来问题的url

使用Firefox,我可以访问您的url,但当我使用开发人员工具检查url时,url是 请注意,非ASCII字符是转义的

编辑1:

要访问包含非ascii字符的url,您需要在发出请求之前使用特殊字符对url部分进行编码:

关于“ı”土耳其字符,您是对的:如果查看您的答案,您将看到Stackoverflow不会自动识别给您带来问题的url

使用Firefox,我可以访问您的url,但当我使用开发人员工具检查url时,url是 请注意,非ASCII字符是转义的

编辑1:

要访问包含非ascii字符的url,您需要在发出请求之前使用特殊字符对url部分进行编码:

关于“ı”土耳其字符,您是对的:如果查看您的答案,您将看到Stackoverflow不会自动识别给您带来问题的url

使用Firefox,我可以访问您的url,但当我使用开发人员工具检查url时,url是 请注意,非ASCII字符是转义的

编辑1:

要访问包含非ascii字符的url,您需要在发出请求之前使用特殊字符对url部分进行编码:

关于“ı”土耳其字符,您是对的:如果查看您的答案,您将看到Stackoverflow不会自动识别给您带来问题的url

使用Firefox,我可以访问您的url,但当我使用开发人员工具检查url时,url是 请注意,非ASCII字符是转义的

编辑1:


要访问包含非ascii字符的url,您需要在发出请求之前使用特殊字符对url部分进行编码:

我想您可以在这里找到答案:


我想你可以在这里找到答案:


我想你可以在这里找到答案:


我想你可以在这里找到答案:



清单中的互联网权限?@Selvin是的,我也可以从其他链接中获取一些图像,但有些链接不起作用,奇怪的是,你应该用url编码对链接进行编码,不确定android是如何做到的。例如,您的雀巢链接应该是编辑:最后一部分是“Ncapk%C4%B1rm%C4%B1z%C4%B1-500x500.jpg”,stackoverflow在清单中显示长链接Internet权限?@Selvin是的,我也可以从其他链接中获取一些图像,但有些链接不起作用,奇怪的是,您应该使用url编码对链接进行编码,不知道android是如何实现的。例如,您的雀巢链接应该是编辑:最后一部分是“Ncapk%C4%B1rm%C4%B1z%C4%B1-500x500.jpg”,stackoverflow在清单中显示长链接Internet权限?@Selvin是的,我也可以从其他链接中获取一些图像,但有些链接不起作用,奇怪的是,您应该使用url编码对链接进行编码,不知道android是如何实现的。例如,您的雀巢链接应该是编辑:最后一部分是“Ncapk%C4%B1rm%C4%B1z%C4%B1-500x500.jpg”,stackoverflow在清单中显示长链接Internet权限?@Selvin是的,我也可以从其他链接中获取一些图像,但有些链接不起作用,奇怪的是,您应该使用url编码对链接进行编码,不知道android是如何实现的。例如,你的雀巢链接应该是编辑:最后一部分是“Ncapk%C4%B1rm%C4%B1z%C4%B1-500x500.jpg”,stackoverflow是长链接,所以没有任何方法从该url获取图像吗?android中有转换url的例程。请参阅下面我的答案中的链接。谢谢,那么没有任何方法可以从该url获取图像吗?android中有转换url的例程。请参阅下面我的答案中的链接。谢谢,那么没有任何方法可以从该url获取图像吗?android中有转换url的例程。请参阅下面我的答案中的链接。谢谢,那么没有任何方法可以从该url获取图像吗?android中有转换url的例程。请参阅下面我的答案中的链接。
02-11 18:22:15.475: E/HATA(16015): THERE is an error
02-11 18:22:15.475: E/HATA(16015): java.io.FileNotFoundException:     http://www.marketimyilmazlar.com/image/cache/data/cay/Ncapkırmızı-500x500.jpg
02-11 18:22:15.475: E/HATA(16015):  at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:186)
02-11 18:22:15.475: E/HATA(16015):  at java.net.URLConnection$DefaultContentHandler.getContent(URLConnection.java:1018)
02-11 18:22:15.475: E/HATA(16015):  at java.net.URLConnection.getContent(URLConnection.java:199)
02-11 18:22:15.475: E/HATA(16015):  at java.net.URL.getContent(URL.java:447)
02-11 18:22:15.475: E/HATA(16015):  at com.example.barcodescanner.FetchImage.LoadImageFromWeb(FetchImage.java:18)
02-11 18:22:15.475: E/HATA(16015):  at com.example.barcodescanner.FetchImage.doInBackground(FetchImage.java:30)
02-11 18:22:15.475: E/HATA(16015):  at com.example.barcodescanner.FetchImage.doInBackground(FetchImage.java:1)
02-11 18:22:15.475: E/HATA(16015):  at android.os.AsyncTask$2.call(AsyncTask.java:287)
02-11 18:22:15.475: E/HATA(16015):  at java.util.concurrent.FutureTask.run(FutureTask.java:234)
02-11 18:22:15.475: E/HATA(16015):  at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
02-11 18:22:15.475: E/HATA(16015):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
02-11 18:22:15.475: E/HATA(16015):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
02-11 18:22:15.475: E/HATA(16015):  at java.lang.Thread.run(Thread.java:841)