0

少し前にここに投稿された方法を使用して、画像ファイル (jpeg) をテスト サーバーにアップロードしようとしています。

                  try {
         String pathToOurFile = path;
         FileInputStream fileInputStream = 
         new FileInputStream(new File(pathToOurFile) );

         BufferedInputStream bis = new BufferedInputStream(fileInputStream,3000);
         byte[] bt=new byte[bis.available()];

        HttpURLConnection connection = 
        (HttpURLConnection)new  URL(string).openConnection();
         connection.setDoOutput(true);
         connection.setRequestMethod("POST");
         connection.connect();

        FileOutputStream input =  (FileOutputStream) connection.getOutputStream();
        input.write(bt);
        bis.close();

    } catch (MalformedURLException e) {
        Context context = null;

        Toast.makeText(context, "error in writing", Toast.LENGTH_LONG).show();

        e.printStackTrace();
    } catch (IOException e) {

        e.printStackTrace();
    }

    }

次の行で ClassCastException が発生しています: FileOutputStream input = (FileOutputStream) connection.getOutputStream(); Eclipseはそれをエラーとしてマークしないと思いました。どうすれば修正できますか?

PSプロジェクトはAPIレベル17に対してコンパイルされています

4

2 に答える 2

1

によって返されるストリームはでgetOutputStream()はないFileOutputStreamため、キャストは失敗しています。キャストを行うことで、結果が。になることがわかっていることを伝えているため、Eclipseは警告していませんFileOutputStream

変数タイプをに変更しOutputStreamてキャストを削除するだけです。

于 2012-12-13T20:53:13.903 に答える
0

FileOutputStreamをOutputStreamに変更するだけです

于 2012-12-13T20:54:49.457 に答える