У меня есть файлы в хранилище BLOB-объектов Azure.На веб-странице эти файлы могут быть загружены.
Это прекрасно работает, но creation date
и modified date
установлены не так, как мне нужно.
Вот код:
[HttpGet]
public HttpResponseMessage Download()
{
Download download;
[...]
var fileStorage = new BlobStorage(download.ContainerName);
BlobProperties blobProperties;
var result = new HttpResponseMessage(HttpStatusCode.OK)
{
Content = new ByteArrayContent(fileStorage.Download(download.Url, out blobProperties))
};
result.Content.Headers.LastModified = blobProperties.LastModified;
result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
{
FileName = download.FileName,
CreationDate = blobProperties.LastModified,
ModificationDate = blobProperties.LastModified,
Size = blobProperties.Length
};
result.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
return result;
}
blobProperties.LastModified
имеет правильное значение DateTimeOffset.Но когда я смотрю на загруженный файл на моем диске (под управлением Windows), дата файла отличается.Иногда это текущая дата при загрузке.Иногда полная другая дата, которая может быть раньше или позже, чем blobProperties.LastModified
.
Когда у вас есть папка для загрузки с большим количеством файлов, это очень затрудняет поиск файла.
Iнужна либо текущая дата, либо дата из свойств блога, но не кажущаяся случайной дата.
Вот вывод Fiddler:
HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 802074
Content-Type: application/octet-stream
Last-Modified: Tue, 13 Nov 2018 10:17:20 GMT
Server: Microsoft-IIS/10.0
Content-Disposition: attachment; filename="myFile.xlsx"; creation-date="Tue, 13 Nov 2018 10:17:20 GMT"; modification-date="Tue, 13 Nov 2018 10:17:20 GMT"; size=802074
X-AspNet-Version: 4.0.30319
X-SourceFiles: =?UTF-8?B?R?=
X-Powered-By: ASP.NET
Date: Fri, 07 Dec 2018 09:53:17 GMT
Как видите, дата установлена на ноябрь.13, текущая дата - 7 декабря, но дата на моем диске 26-9-2018 16:54
Любые указатели будут высоко оценены.