При создании / обновлении метаданных объекта облачного хранилища Google для свойства Content-Disposition добавляется новое свойство вместо обновления существующего Content-Disposition. См. Изображение ниже.
Моя цель - предоставить другое имя при загрузке объекта. Когда я вручную обновляю Content-Disposition, он работает как положено.
Я использую клиентские библиотеки .NET, ниже приведен код
string fileNameWithExt = "filename.txt";
using (var stream = file.InputStream)
{
var obj = new Google.Apis.Storage.v1.Data.Object
{
Bucket = bucketName,
Name = fileName,
ContentType = "application/octet-stream",
Metadata = new Dictionary<string, string>
{
{ "Content-Disposition", $"attachment; filename={fileNameWithExt}" }
}
};
var gcsObject = storage.UploadObject(obj, stream);
var patchObject = new Google.Apis.Storage.v1.Data.Object
{
Bucket = bucketName,
Name = fileName,
//ContentType = "text/plain",
Metadata = new Dictionary<string, string>
{
{ "Content-Disposition", $"attachment; filename={fileNameWithExt}" }
}
};
storage.PatchObject(patchObject);