DGKumar Ответов: 1

Как использовать encoding.unicode в transferutilityuploadrequest в dotnet


how to use Encoding.unicode in TransferUtilityUploadRequest in dotnet


Приведенный ниже код работает, если я использую ответ
Encoding encoding = Encoding.UTF8;
            var bytes = encoding.GetBytes("José Nuñez");
            MemoryStream stream = new MemoryStream(bytes);
            StreamReader reader = new StreamReader(stream);
            stream.Seek(0, SeekOrigin.Current);
            Response.Clear();
            Response.Buffer = true;
            Response.AddHeader("content-disposition", string.Format("attachment;filename={0}.csv", "filename"));
            Response.Charset = encoding.EncodingName;
            Response.ContentType = "application/text";
            Response.ContentEncoding = Encoding.Unicode;
            Response.Output.Write(reader.ReadToEnd());
            Response.Flush();
            Response.End();


Но я хочу добавить заголовок к
TransferUtilityUploadRequest 


Что я уже пробовал:

Я попытался добавить заголовок
uploadRequest.Headers.ContentEncoding = Encoding.Unicode;
но не работает
TransferUtilityUploadRequest uploadRequest = new TransferUtilityUploadRequest();
                        uploadRequest.BucketName = sourceBucketName.ConfigValue.ToString();
                        uploadRequest.Key = fileFullName;
                        uploadRequest.Headers.ContentEncoding = Encoding.Unicode;

                        Stream tmpStream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(downloadData)); 
                        tmpStream.Seek(0, SeekOrigin.Begin);
                        StreamReader sReaderData = new StreamReader(tmpStream);
                        string viewTheData = sReaderData.ReadToEnd();

MadMyche

"но не работает" на самом деле ничего нам не говорит. Есть ли какая-то ошибка? Отправляются ли неверные данные?

1 Ответов

Рейтинг:
0

MadMyche

Я даже не уверен в этом Headers.ContentEncoding это стандартный заголовок. Есть Content-Encoding заголовок, но это связано со сжатием (например, gzip, deflate).

Похоже, у вас могут возникнуть проблемы с Response.Charset = encoding.EncodingName;, который выдавал бы "дружественное имя" в отличие от имени реестра IANA. Попробуйте заменить его кодирование.EncodingName с кодирование.WebName, и избавление от другого заголовка.

Ссылка: Кодирование.Свойство WebName (System.Text) | Microsoft Docs[^]