.NET Web API. Как вернуть массив файлов [duplicate]

Это другой способ преобразования формата даты

 <?php
$pastDate = "Tuesday 11th October, 2016";
$pastDate = str_replace(",","",$pastDate);

$date = new DateTime($pastDate);
$new_date_format = $date->format('Y-m-d');

echo $new_date_format.' 23:59:59'; ?>
14
задан Gary McGill 4 September 2012 в 16:11
поделиться

3 ответа

ОК, вот фрагмент кода, который, похоже, работает, используя MultipartContent, о котором упоминал KiranChalla. (Это всего лишь фиктивный образец, который показывает, как возвращать два файла разных типов в сочетании с JSON-кодированным «объектом» (который в этом случае является всего лишь списком целочисленных идентификаторов).

public HttpResponseMessage Get()
{
    var content = new MultipartContent();
    var ids = new List<int>() { 1, 2 };

    var objectContent = new ObjectContent<List<int>>(ids, new System.Net.Http.Formatting.JsonMediaTypeFormatter());
    content.Add(objectContent);

    var file1Content = new StreamContent(new FileStream(@"c:\temp\desert.jpg", FileMode.Open));
    file1Content.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("image/jpeg");
    content.Add(file1Content);

    var file2Content = new StreamContent(new FileStream(@"c:\temp\test.txt", FileMode.Open));
    file2Content.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("text/plain");
    content.Add(file2Content);

    var response = new HttpResponseMessage();
    response.Content = content;
    return response;
}
10
ответ дан Hakam Fostok 25 August 2018 в 18:47
поделиться

Вы можете создать сжатый файл (например, ZIP-файл) из всех миниатюр и отправить его обратно.

Затем вызывающему абоненту просто нужно разархивировать его в конец - отправка одного файла, содержащего несколько файлов будет гораздо более приемлемым, чем отправка нескольких файлов в один поток.

Недостатком является то, что вы вряд ли сможете использовать кеширование (в зависимости от ваших шаблонов использования, конечно).

0
ответ дан RB. 25 August 2018 в 18:47
поделиться

Одна проблема, которую я вижу, заключается в том, что, исходя из количества отправленных изображений, вызывающий абонент должен настроить их значение тайм-аута. Если это было для книжного магазина, могло бы быть отправлено много изображений.

Что делать, если вы отправляли только URL-адреса для каждого изображения и оставляете его вызывающему, чтобы получить фактическое изображение? Это означало бы немного больше трафика с несколькими вызовами, но вызывающий абонент получал информацию раньше, чем позже, а затем получал изображения на основе требования вызывающего абонента.

Я мог ошибаться, но я думал, что идея позади заключалась в том, чтобы идентифицировать каждый ресурс и объединять кучу изображений и называть этот ресурс. Просто мысль ...

1
ответ дан SainathDK 25 August 2018 в 18:47
поделиться
Другие вопросы по тегам:

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