基本上,我使用这些特定的代码行已经有一段时间了,从来没有遇到过问题。什么都没有感动,但现在我得到了


  IllegalStateException-已连接


正是在我设置conn.setUsesCaches(false)之后

 public void PutImageToS3(String signedUrl, Bitmap image) throws WampNetworkException, IOException {
            URL url = new URL(signedUrl);
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.getDoOutput();
            conn.setUseCaches(false);
            conn.setRequestMethod("PUT");
            conn.addRequestProperty("Content-Type", "image/jpeg");
            conn.addRequestProperty("Connection", "close");
            OutputStream out = new BufferedOutputStream(conn.getOutputStream());
            image.compress(Bitmap.CompressFormat.JPEG, 100, out);

            if (conn.getResponseCode() != HttpURLConnection.HTTP_OK) {
                throw new IOException("Failed to upload image to S3: "
                        + conn.getResponseCode() + conn.getResponseMessage() + "\r\n");
            }
            out.flush();
            out.close();
            conn.disconnect();
        }

最佳答案

try-finally块中编写此代码,然后尝试

public void PutImageToS3(String signedUrl, Bitmap image) throws WampNetworkException, IOException {

       try{
        URL url = new URL(signedUrl);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.getDoOutput();
        conn.setUseCaches(false);
        conn.setRequestMethod("PUT");
        conn.addRequestProperty("Content-Type", "image/jpeg");
        conn.addRequestProperty("Connection", "close");
        OutputStream out = new BufferedOutputStream(conn.getOutputStream());
        image.compress(Bitmap.CompressFormat.JPEG, 100, out);

        if (conn.getResponseCode() != HttpURLConnection.HTTP_OK) {
            throw new IOException("Failed to upload image to S3: "
                    + conn.getResponseCode() + conn.getResponseMessage() + "\r\n");
        }
     }
     finally{
        out.flush();
        out.close();
        conn.disconnect();
      }
    }

关于java - HTTP请求-已连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31337443/

10-10 19:23