Как ограничить тип контента для подписанного URL-адреса загрузки для Google Storage? - PullRequest
0 голосов
/ 05 августа 2020

Я хотел бы создать предварительно подписанный URL-адрес загрузки, который позволяет клиенту загружать файлы непосредственно в корзину. URL-адрес должен превышать через пять минут, чтобы предотвратить загрузку файлов размером более 1 МБ и разрешить загрузку только файлов .jpg и .png. Мне удалось собрать все, кроме ограничения типа файла. К сожалению, документация не помогла. Как можно ограничить загружаемый файл чем-то другим, кроме .jpg или .png?

policy, err := storage.GenerateSignedPostPolicyV4(keys.GetKeys().BUCKET_NAME, siteID+".png", &storage.PostPolicyV4Options{
    GoogleAccessID: conf.PrivateKeyID,
    PrivateKey:     conf.PrivateKey,
    Expires:        time.Now().Add(5 * time.Minute),
    Conditions: []storage.PostPolicyV4Condition{
        storage.ConditionContentLengthRange(0, 1<<20),
    },
})

1 Ответ

1 голос
/ 05 августа 2020

Просто добавьте PostPolicyV4Options к Fields

    Fields: &storage.PolicyV4Fields{
        // It MUST only be a text file.
        ContentType: "text/plain",
    },
...