0

私は次のようなワークフローを持つアプリケーションに取り組んでいます:

1.ホームページの解析(HttpURLConnection、connect()、do stuff、disconnect()、データの使用を使用)、

2.作成したリンクをクリックした後、リンクに基づいて記事を解析するか、ファイルをダウンロードします。

記事の場合、最初のステップは完璧に機能し、2番目のステップも機能しますが、特定のURLからファイルをダウンロードしてSDカードに保存しようとすると、次の行にfileNotFoundExceptionが発生します。

  InputStream inputStream = urlConnection.getInputStream();

それを行うための私のガイド(ファイルのダウンロード)はここhttp://goo.gl/GTBOPで説明されているコードであり、このアクションに必要なマニフェストに権限を設定し、さらにダウンロード操作の前にMEDIA_MOUNTED&MEDIA_MOUNTED_READ_ONLY状態をチェックしたようですぴったりです。

だから..私はstackOverflowや他の場所でこの問題についてたくさん読んで、これらを追加するようなさまざまな提案を試しました:

urlConnection.setRequestProperty("User-Agent","Mozilla/5.0 ( compatible ) ");
urlConnection.setRequestProperty("Accept","*/*");

また

System.setProperty("http.keepAlive", "false");

しかし、成功しませんでした。私はまだfileNotFoundExceptionで立ち往生しています。ウェブページから応答コードをキャッチしようとしましたが、404と表示されます。

他のサイトからダウンロードするためにファイルへのリンクをハードコードすると、問題なくファイルがダウンロードされるのは不思議です。明確にするために、fileurl変数へのリンクをクリックしましたが、次のステップでは、fileurl = "somesite / somefile.ext"と言うだけで、すべてがスムーズになります。Webブラウザーから、アプリケーションで問題が発生するファイルをダウンロードできるので、問題はどこにあるのか混乱しています。

何か提案をお願いします..?10q

4

2 に答える 2

4

沖..久しぶりにこれに対する答えはありません..:(ついに私は自分で解決策を見つけたので、誰かがうまくいけばそれの使用を見つけるので、ここに投稿します..

URLで%20に気づいたので、使用する前に、Android開発ページで説明されているようにURI.encode(fileURL)でエンコードしました。

そして出来上がり..すべてが大丈夫だった..:)コミュニティに貢献してくれてありがとう!;) 乾杯

于 2011-07-08T15:47:24.913 に答える
0

404またはNotFoundエラーメッセージは、クライアントがサーバーと通信できたが、サーバーが要求されたものを見つけることができなかったことを示すHTTP標準応答コードです。

つまり、これは唯一のことを意味します-ファイルのURLが存在しないリソースを指していました。どうすればそれが可能になりますか?知らない。デバッグ/ログを使用して、URLを壊した場所を見つけます。

于 2011-03-28T18:14:29.500 に答える