1

Android から aws s3 に画像をアップロードし、aws から生成された URL を見つけてサーバーに保存しましたが、しばらくすると、その署名された生成された URL で画像を取得したいときに、アクセスが拒否されます。

そのURLを介してawsから画像を取得するにはどうすればよいですか?

4

1 に答える 1

0

この方法を試してみてください

public Bitmap getUrlContent(String urlstring) throws IOException
    {
        byte[] imageRaw = null;
        URL url = new URL(urlstring);

        Authenticator.setDefault(new Authenticator(){
            protected PasswordAuthentication getPasswordAuthentication() {
                    //your username and password here
                return new PasswordAuthentication(user, password.toCharArray());
            }});
        HttpURLConnection urlConnection = (HttpURLConnection) url
                .openConnection();
        urlConnection.setUseCaches(false);
        urlConnection.connect();
        if (urlConnection.getResponseCode() == HttpURLConnection.HTTP_OK)
        {
            try
            {
                InputStream in = new BufferedInputStream(
                        urlConnection.getInputStream());
                ByteArrayOutputStream out = new ByteArrayOutputStream();
                int c;
                while ((c = in.read()) != -1)
                {
                    out.write(c);
                }
                out.flush();

                imageRaw = out.toByteArray();

                urlConnection.disconnect();
                in.close();
                out.close();
                return BitmapFactory.decodeByteArray(imageRaw, 0, imageRaw.length);
            } catch (IOException e)
            {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        return null;
    }
于 2013-09-05T10:37:51.057 に答える