我使用 Skipper.js 将我的图片上传到Amazon Web Service S3,但是使用网址是不可能的> Skipper.js 即可。我不想使用 Skipper-Disk 我想上传到 S3 ,并且能够创建一个可公开访问的网址来下载该文件。我的代码在下面,这就是我所做的一切
public class MainActivity extends FragmentActivity {
private static final int GPS_ERRORDIALOG_REQUEST = 9001;
GoogleMap mMap;
@SuppressWarnings("unused")
private static final double SEATTLE_LAT = 47.60621,
SEATTLE_LNG =-122.33207,
SYDNEY_LAT = -33.867487,
SYDNEY_LNG = 151.20699,
NEWYORK_LAT = 40.714353,
NEWYORK_LNG = -74.005973;
private static final float DEFAULTZOOM = 15;
private static final String LOGTAG = "Maps";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (servicesOK()) {
setContentView(R.layout.activity_map);
if (initMap()) {
Toast.makeText(this, "Ready to map!", Toast.LENGTH_SHORT).show();
gotoLocation(SEATTLE_LAT, SEATTLE_LNG, DEFAULTZOOM);
}
else {
Toast.makeText(this, "Map not available!", Toast.LENGTH_SHORT).show();
}
}
else {
setContentView(R.layout.activity_main);
}
}
答案 0 :(得分:2)
看起来你做了所有的上传代码,假设你在文件的顶部:
var skipper = require('skipper-s3')
实际修复与S3配置有关。在AWS S3控制台中,选择存储桶后,您需要选择属性 - >权限 - >编辑存储桶策略。
添加此代码以使您的存储桶具有公共GET请求,但将资源参数中的“bucketName”替换为您的存储桶名称:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::bucketName/*"
}
]
}