Firebase存储在上传时解压缩我的文件

时间:2017-02-02 15:13:29

标签: c# json gzip firebase-storage gzipstream

我有一个奇怪的问题,我似乎无法绕过。

我有一个gzip文件,可以使用gsutil工具轻松上传到我的Firebase存储桶:

  

gsutil -h“Content-Encoding:gzip”-h“Content-Type:application / json”   cp myGzipFileWithoutGzExtension.json gs://my-bucket-name.appspot.com

该文件作为普通的json文件启动,压缩为32kb。

现在我想在我的c#console应用程序中执行相同的操作。但是当我上传到相同的网址时,Firebase存储会移除压缩,文件最终会大约400kb(删除的空格等)?!?!

var url = "https://firebasestorage.googleapis.com/v0/b/my-bucket-name.appspot.com/o?name=myGzipFileWithoutGzExtension.json"
var stream = File.Open(@"C:\temp\myGzipFileWithoutGzExtension.json ", FileMode.Open);

using (var client = new HttpClient())
{
    var streamContent = new StreamContent(stream);
    streamContent.Headers.Add("Content-Encoding", "gzip");
    streamContent.Headers.Add("Content-Type", "application/json");
    streamContent.Headers.ContentLength = stream.Length;

    var request = new HttpRequestMessage(HttpMethod.Post, url)
    {
        Content = streamContent,
    };

    var response = await client.SendAsync(request, cancellationToken).ConfigureAwait(false);
    var responseData = await response.Content.ReadAsStringAsync().ConfigureAwait(false);
}

我做错了吗? 我只想上传我的32kb json(gzip)文件,并在其上有正确的Content-Encoding,以便浏览器处理解压缩(当我使用gsutil上传的文件时这样做,所以它按预期工作)

0 个答案:

没有答案