我有一个应用程序,通过Firebase使用Fabric的Crashlytics.以下是我的Applications onCreate中执行的第一件事
CrashlyticsCore crashlyticsCore = new CrashlyticsCore.Builder()
.disabled(BuildConfig.DEBUG)
.build();
Fabric.with(this, new Crashlytics.Builder().core(crashlyticsCore).build());
Run Code Online (Sandbox Code Playgroud)
尽管如此,崩溃仍以DEBUG == true模式提交.
我使用以下版本
在我的build.gradle中
classpath "io.fabric.tools:gradle:1.25.1"
在我的app/build.gradle中
implementation "com.crashlytics.sdk.android:crashlytics:2.9.1"
不幸的是,崩溃仍然有报道.任何想法,我做错了什么?
android firebase crashlytics crashlytics-android google-fabric
我正在使用Rails 4为后端服务创建API.该服务需要将图像文件上传到amazon s3存储桶.
我想使用直接上传网址,以便客户端管理上传到s3,服务器不会保持忙碌状态.
目前我有以下原型导轨动作
def create
filename = params[:filename]
s3_direct_post = S3_BUCKET.presigned_post(key: "offers/#{SecureRandom.uuid}/#{filename}", acl: 'public-read')
s3p = s3_direct_post.fields
url = "#{s3_direct_post.url}/#{filename}?X-Amz-Algorithm=#{s3p['x-amz-algorithm']}&X-Amz-Credential=#{s3p['x-amz-credential']}&X-Amz-Date=#{s3p['x-amz-date']}&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=#{s3p['x-amz-signature']}"
render json: {success: true, url: url}, status: :ok
end
Run Code Online (Sandbox Code Playgroud)
这会生成这样的网址:
https://my-bucket.s3.eu-central-1.amazonaws.com/test.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=MYKEY/20150420/eu-central-1/s3/aws4_request&X-Amz-Date=20150420T162603Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=MYSIGNATURE
Run Code Online (Sandbox Code Playgroud)
现在我尝试使用以下内容将test.png发布到此URL:
curl -v -T test.png "url"
我收到以下错误响应:
<Error><Code>SignatureDoesNotMatch</Code><Message>The request signature we calculated does not match the signature you provided. Check your key and signing method.</Message><AWSAccessKeyId>MYKEY</AWSAccessKeyId>...
Run Code Online (Sandbox Code Playgroud)
我认为问题来自于指定的X-Amz-SignedHeaders标头错误.我不确定默认情况下从amazon rails sdk gem使用哪些头文件.
我应该如何更改我的网址生成,以便移动客户端可以只获取网址并将文件发布到该网址?
我是mongo db的新手,请原谅我,如果这是相当微不足道的话.我真的很感激帮助.
想法是生成一些特定值的直方图.在那种情况下,某些文件的mime类型.为此,我正在使用地图减少工作.
我有一个mongo文件,格式如下:
{
"_id" : ObjectId("4fc5ed3e67960de6794dd21c"),
"name" : "some name",
"uid" : "some app specific uid",
"collection" : "some name",
"metadata" : [
{
"key" : "key1",
"value" : "Plain text",
"status" : "SINGLE_RESULT",
},
{
"key" : "key2",
"value" : "text/plain",
"status" : "SINGLE_RESULT",
},
{
"key" : "key3",
"value" : 3469,
"status" : "OK",
}
]
}
Run Code Online (Sandbox Code Playgroud)
请注意,几乎每个文档中都有更多元数据键值.
地图减少工作
我尝试过以下操作:
function map() {
var mime = "";
this.metadata.forEach(function (m) {
if (m.key === "key2") {
mime …Run Code Online (Sandbox Code Playgroud)