2012-11-06 121 views
2

我试图运行下面的代码安卓:openInputStream与URL抛出FileNotFoundException异常

Uri uri = Uri.parse("URL of a photo"); 

    ContentResolver cr = getContentResolver(); 

    try { 
     InputStream fis = cr.openInputStream(uri); 
     // Do some stuff here .. 
    } catch (FileNotFoundException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

但是,这将引发FileNotFoundException异常,我敢肯定的URL是正确的。是否有另一种方式来打开URL的输入流?

编辑:logcat的输出

11-06 22:05:37.939: W/System.err(20057): java.io.FileNotFoundException: No content provider: http://www.vnvlvokc.com/ow_userfiles/plugins/shoppro/images/product_1.jpg 
11-06 22:05:37.939: W/System.err(20057): at android.content.ContentResolver.openAssetFileDescriptor(ContentResolver.java:481) 
11-06 22:05:37.939: W/System.err(20057): at android.content.ContentResolver.openInputStream(ContentResolver.java:319) 
11-06 22:05:37.939: W/System.err(20057): at com.example.myfacebook.Act1.post_photo(Act1.java:68) 
11-06 22:05:37.939: W/System.err(20057): at com.example.myfacebook.Act1.onActivityResult(Act1.java:58) 
11-06 22:05:37.939: W/System.err(20057): at android.app.Activity.dispatchActivityResult(Activity.java:3908) 
11-06 22:05:37.939: W/System.err(20057): at android.app.ActivityThread.deliverResults(ActivityThread.java:2694) 
11-06 22:05:37.939: W/System.err(20057): at android.app.ActivityThread.handleSendResult(ActivityThread.java:2740) 
11-06 22:05:37.939: W/System.err(20057): at android.app.ActivityThread.access$2000(ActivityThread.java:121) 
11-06 22:05:37.939: W/System.err(20057): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:991) 
11-06 22:05:37.939: W/System.err(20057): at android.os.Handler.dispatchMessage(Handler.java:99) 
11-06 22:05:37.939: W/System.err(20057): at android.os.Looper.loop(Looper.java:130) 
11-06 22:05:37.939: W/System.err(20057): at android.app.ActivityThread.main(ActivityThread.java:3892) 
11-06 22:05:37.949: W/System.err(20057): at java.lang.reflect.Method.invokeNative(Native Method) 
11-06 22:05:37.949: W/System.err(20057): at java.lang.reflect.Method.invoke(Method.java:507) 
11-06 22:05:37.949: W/System.err(20057): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) 
11-06 22:05:37.949: W/System.err(20057): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:642) 
11-06 22:05:37.949: W/System.err(20057): at dalvik.system.NativeStart.main(Native Method) 
+0

不确定是否允许我在此处张贴外部网址,但这是我正在测试的网址http://www.vnvlvokc.com/ow_userfiles/plugins/shoppro/images/product_1.jpg –

+0

你有没有尝试用像这样的'InputStream fis =(InputStream)new URL(fileUrl).getContent();替换InputStream行。 ' – jnthnjns

+0

它会产生IOException! –

回答

3

如果您想下载图片到手机上的内容,那么你不应该使用的意图解析器,但一个HttpURLConnection类和它的内容复制到文件中。

有几种方法可以做到这一点,很少有更正。如果这就是你想要告诉我的,我会给你一些提示。

你在做什么与内容解析器试图从一个应用程序或从系统可以给你这个网址的内容..一个ContentProvider ..这真的有点尴尬。

+0

我正在关注这篇文章的接受答案http://stackoverflow.com/questions/6478572/uploading-pictures-to-facebook-using-graph-api-with-android-sdk 我想上传一张照片到脸书相册 –

+0

什么是你在做什么,这两个代码看起来很不一样 – Snicolas

+0

尝试内的前两行是我想要做的。我仍然在开始:) –