亚马逊s3图像在Android上下载

克维什

我注意到Android上确实发生了一件很奇怪的事情。我有一个存储桶,其中包含许多需要在iPhone和Android应用程序上显示的图像。在iPhone上,当我SDWebImage用来下载,缓存和显示图像时,一切正常在Android应用程序上,我正在使用Shutterbug

当我使用以下链接在Android上下载图片时,一切正常:

https://s3.amazonaws.com/ {{bucket name}} / image.png

但是,当我使用下面的链接时,出现错误:

https:// {{bucket name}}。s3.amazonaws.com/image.png

我得到的错误如下:

java.net.UnknownHostException: https://{{bucket name}}.s3.amazonaws.com/image.png
at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:279)
at com.android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:255)
at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:206)
at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:345)
at com.android.okhttp.internal.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:296)
at com.android.okhttp.internal.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:179)
at com.android.okhttp.internal.http.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:246)
at com.applidium.shutterbug.downloader.ShutterbugDownloader$1.doInBackground(ShutterbugDownloader.java:65)
at com.applidium.shutterbug.downloader.ShutterbugDownloader$1.doInBackground(ShutterbugDownloader.java:52)
at android.os.AsyncTask$2.call(AsyncTask.java:288)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)

更改URL时为什么会有这个原因?理想情况下,我更喜欢第二个,因为它将允许读取Google的robot.txt。

克维什

我看到了此页面:

http://en.wikipedia.org/wiki/Hostname#Restrictions_on_valid_host_names

原来,我的存储桶的名称(_)带有下划线。这违反了标准。在iOS中,即使使用非标准字符,这些URL仍然有效,但在Android中,它会拒绝它。最好确保s3存储桶名称不要使用非标准字符。

如果您这样做,请使用第一个链接。在这种情况下,DNS查找中没有非标准字符(https://s3.amazonaws.com/ ..。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

亚马逊s3图像在Android上无法正常工作

来自分类Dev

保存裁剪后的图像-到亚马逊S3

来自分类Dev

保存裁剪后的图像-到亚马逊S3

来自分类Dev

亚马逊 S3 存储

来自分类Dev

通过载波在S3上下载资产

来自分类Dev

从亚马逊下载缩放图像

来自分类Dev

在Android上下载imgur图像

来自分类Dev

加载图像直接使用AWS s3的imageview的,而不在android系统下载到本地存储

来自分类Dev

将图像和视频升级到亚马逊S3(arm64错误)

来自分类Dev

亚马逊S3的Heroku错误

来自分类Dev

亚马逊S3中的ACL权限

来自分类Dev

亚马逊S3存储桶名称

来自分类Dev

S3图像在本地加载,而不是在Heroku上加载

来自分类Dev

是否可以使用AWS CloudFront在S3上下载我的私有映像?

来自分类Dev

使用Python在未经身份验证的公共S3存储桶上下载文件

来自分类Dev

Amazon S3文件从Android下载

来自分类Dev

Amazon S3文件从Android下载

来自分类Dev

使用flask将文件上传到亚马逊s3

来自分类Dev

CNAME转s3桶式亚马逊

来自分类Dev

亚马逊s3上传签名网址公开阅读

来自分类Dev

创建亚马逊AWS S3预签名URL PHP

来自分类Dev

流星亚马逊S3图片上传缩略图

来自分类Dev

亚马逊s3名称键名误解

来自分类Dev

亚马逊S3和Amazon Redshift之间的区别

来自分类Dev

使用flask将文件上传到亚马逊s3

来自分类Dev

在亚马逊S3上构建静态网站

来自分类Dev

流利的不写日志到亚马逊S3

来自分类Dev

清除AWS s3 php亚马逊sdk上的缓存

来自分类Dev

在亚马逊 s3 上为私人团体托管