Как получить md5sum файла на S3 Amazon

Вы, которых don’t должны вызвать основным конструктором явно, это неявно назовут, но иногда Вы должны передать параметры конструктору в этом случае, можно сделать что-то как:

using System;
namespace StackOverflow.Examples
{
    class Program
    {
        static void Main(string[] args)
        {
            NewClass foo = new NewClass("parameter1","parameter2");
            Console.WriteLine(foo.GetUpperParameter());
            Console.ReadKey();
        }
    }

    interface IClass
    {
        string GetUpperParameter();
    }

    class BaseClass : IClass
    {
        private string parameter;
        public BaseClass (string someParameter)
        {
            this.parameter = someParameter;
        }

        public string GetUpperParameter()
        {
            return this.parameter.ToUpper();
        }
    }

    class NewClass : IClass
    {
        private BaseClass internalClass;
        private string newParameter;

        public NewClass (string someParameter, string newParameter)
        {
            this.internalClass = new BaseClass(someParameter);
            this.newParameter = newParameter;
        }

        public string GetUpperParameter()
        {
            return this.internalClass.GetUpperParameter() + this.newParameter.ToUpper();
        }
    }
}

Примечание: Если кто-то знает, что лучшее решение говорит мне.

65
задан Switch 21 November 2009 в 15:44
поделиться

1 ответ

Хм ... Я думаю, вы можете взглянуть на заголовок ETag. (в этом случае вы можете использовать метод HTTP HEAD , а не GET.) Они не говорят об этом явно, но почти наверняка Amazon использует хеш MD5 для ETag. Из документации PUT Object (не знаю, почему они просто не выходят и не говорят это):

Чтобы гарантировать, что данные не будут повреждены в сети, используйте заголовок Content-MD5. Когда вы используете заголовок Content-MD5, Amazon S3 проверяет объект на соответствие предоставленному значению MD5. Если они не совпадают, Amazon S3 возвращает ошибку. Кроме того, вы можете вычислить MD5, помещая объект в Amazon S3, и сравнить возвращенный Etag с вычисленным значением MD5.

Кроме того, методы SOAP позволяют запрашивать только метаданные, а не сами данные .

39
ответ дан 4 July 2019 в 22:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: