@RequestMapping(value = "/files/{file_name}", method = RequestMethod.GET)
public void getFile(
@PathVariable("file_name") String fileName,
HttpServletResponse response) {
try {
// get your file as InputStream
InputStream is = ...;
// copy it to response's OutputStream
org.apache.commons.io.IOUtils.copy(is, response.getOutputStream());
response.flushBuffer();
} catch (IOException ex) {
log.info("Error writing file to output stream. Filename was '{}'", fileName, ex);
throw new RuntimeException("IOError writing file to output stream");
}
}
Вообще говоря, когда у вас есть response.getOutputStream()
, вы можете что-то там написать. Вы можете передать этот выходной поток в качестве места для размещения генерируемого PDF-файла в генераторе. Кроме того, если вы знаете, какой тип файла вы отправляете, вы можете установить
response.setContentType("application/pdf");
Опубликовать пакет символов * .snupkg в частной ленте в VSTS
blockquote>Вы можете опубликовать пакет символов .snupkg на NuGet.org или на любом сервере NuGet, который выбирает в этот опыт . Но у лазурного девопа в частном фиде такого опыта нет.
Подробную информацию вы можете получить из этой вики. NuGet Package Debugging & amp; Улучшения символов :
blockquote>
- При публикации пакетов и пакет символов, и файл .nupkg будут легко публиковаться на NuGet.org или на любом сервере NuGet, который включится в эту работу.
Причина :
Как мы знаем, когда мы используем
.snupkg
в Visual Studio, мы добавляем новое местоположение сервера символов в файл символов (. pdb) location:Но Visual Studio может анализировать только файл символов ( .pdb ) напрямую, а не пакет
.snupkg
, поэтому нам нужен сервер NuGet, чтобы помочь нам прочитать файл.pdb
из пакета.snupkg
. Фид Azure devops более склонен быть общим хранилищем пакетов.Таким образом, мы должны опубликовать пакет символов * .snupkg на NuGet.org или на любом сервере NuGet, который использует эту возможность .
Если вы не хотите делиться своим пакетом на nuget.org, вы можете разместить собственный сервер NuGet или использовать облегченное решение для решения этой проблемы. (Вы можете отлаживать пакет nuget с помощью частного канала).
Надеюсь, это поможет.
Артефакты Azure в настоящее время не поддерживают .snupkg
, но у них есть сервер символов, который можно опубликовать, если вы строите с использованием конвейеров Azure. Этот документ посвящен настройке конвейера, который публикует символы.
Вы можете опубликовать файлы snupkg в DevOps Azure, но на этом этапе вы не можете использовать их для VS с помощью VS для отладки. Вот как я это сделал:
1) настроить задачу «Использовать .Net Core» для обновления .net SDK до версии, которая поддерживает это (как показано ниже)
2) настроить пользовательскую команду пакета точек сети (как показано ниже)
3) отправьте его в Azure с помощью команды push netnet (как показано ниже)
Это приводит к выталкиванию snupkg в артефакты DevOps Azure. , таким образом: