Exemplo n.º 1
0
        public void GetMd5Buffer_Test()
        {
            var stream = new MemoryStream(Encoding.UTF8.GetBytes("helloworld"));
            var buffer = Md5Util.GetMd5Buffer(stream);

            var actual = BitConverter.ToString(buffer).Replace("-", "");

            Assert.Equal("FC5E038D38A57032085441E7FE7010B0", actual);
        }
Exemplo n.º 2
0
        /// <summary>计算头部的MD5
        /// </summary>
        private void SetContentMd5(IRequest request)
        {
            //上传文件数据
            if (request.ContentStream != null && !request.Headers.ContainsKey(Headers.CONTENT_MD5))
            {
                if (request.ContentStream is MD5Stream stream1)
                {
                    var stream    = stream1.GetNonWrapperBaseStream();
                    var md5Buffer = Md5Util.GetMd5Buffer(stream);
                    if (stream.CanSeek)
                    {
                        stream.Seek(0, SeekOrigin.Begin);
                    }
                    var contentMd5 = Convert.ToBase64String(md5Buffer);
                    request.Headers.Add(Headers.CONTENT_MD5, contentMd5);

                    //不包含内容
                    if (!request.Headers.ContainsKey(Headers.CONTENT_TYPE))
                    {
                        request.Headers.Add(Headers.CONTENT_TYPE, Headers.DEFAULT_MIMETYPE);
                    }
                }
            }
        }