我已经构建了import { createAppContainer, DrawerNavigator } from 'react-navigation';
import { createStackNavigator } from 'react-navigation-stack';
import Home from "./src/screens/Home.js";
import first from "./src/screens/first.js";
import React from 'react';
class App extends React.Component{
render(){
return(
<RootStack/>
)
}
}
const RootStack = createStackNavigator ({
Home:{screen:Home,
navigationOptions: {
header: null
}},
first:{screen:first,
navigationOptions: {
header: null
}}
});
//const App = createAppContainer(RootStack);
export default App;
服务器,用于存储具有minio
自定义策略的文件。我下面有政策文件。
mc
语句 "Version": "2012-10-17",
"Statement": [
{
"Action": [
"s3:PutObject"
],
"Effect": "Allow",
"Principal": {
"AWS": [
"*"
]
},
"Resource": [
"arn:aws:s3:::my_bucket_name/*.jpg"
],
"Sid": "Statement1"
},
{
"Action": [
"s3:GetObject"
],
"Effect": "Allow",
"Principal": {
"AWS": [
"*"
]
},
"Resource": [
"arn:aws:s3:::my_bucket_name/*"
],
"Sid": "Statement2"
}
]
}
有效,但是语句s3:GetObject
不起作用。我仍然将所有内容上传到MinIO浏览器。因此,我要做的就是仅上传jpg图片。
答案 0 :(得分:1)
您看过Allow only certain file types to be uploaded to my Amazon S3 bucket吗?它详细介绍了一种比上述方法更全面的方法。也就是说,允许给定的扩展名,授予用户权限,并禁止任何非该扩展名的功能-剥夺具有*
权限的用户上传其他内容的权限。
不知道“不工作”的含义,很难调试。您可以提供您正在使用的命令以及任何例外情况吗?在我脑海中,下面是我会尝试的调试尝试:
.jpg
,不是.JPG
还是.jpeg
或.JPEG
吗?"arn:aws:s3:::my_bucket_name/*.jpg"
更改为"arn:aws:s3:::my_bucket_name/*"
是否可行?如果没有,将其更改为"*"
怎么办?另一方面,我对文件类型限制表示怀疑,因为文件类型只是表面上强制执行的。任何可以重命名文件的人都可以上传文件,因为.jpg
只是扩展名,对实际内容不做任何保证。在最好的情况下,执行扩展规则对于用户来说是一条快乐路径,但实际上您不能依靠它来保护系统不受任何损害。