В MVC ASP.NET у меня есть таблица базы данных. Я хочу иметь кнопку на некоторых, просматривают страницу, если некоторый пользователь нажмет ту кнопку I, то мое приложение генерирует XML-файл, содержащий все строки в базе данных. Затем файл, содержащий XML, должен быть отправлен клиенту так, чтобы пользователь видел всплывающее окно загрузки.
Так же я хочу позволить пользователю загружать XML-файл, содержание которого будет добавлено к базе данных.
Что самый простой путь состоит в том, чтобы позволить пользователю загрузить и загрузить файл?
Спасибо за все ответы
Править: Это - мой подход:
public FileContentResult Download() {
if(model.Series.Count() < 1) {
byte[] content = new byte[0];
return new FileContentResult(content, "Series");
}
XmlSerializer serializer = new XmlSerializer(model.Series.FirstOrDefault().GetType());
MemoryStream xmlStream = new MemoryStream();
foreach (Series s in model.Series) {
serializer.Serialize(xmlStream, s);
}
byte[] content2 = new byte[xmlStream.Length];
xmlStream.Position = 0;
xmlStream.Read(content2, 0, (int) xmlStream.Length);
return File(content2, "Series");
}
Где моделью является DataContext. Howewer это не работает. Когда я пытаюсь загрузить данные, я получаю эту ошибку:
XML Parsing Error: junk after document element
Location: http://localhost:1399/Xml/Download
Line Number 7, Column 10:</Series><?xml version="1.0"?>
---------^
для загрузки, вы можете использовать FileStreamResult
На этой странице есть примеры для загрузки и скачивания; проверить это.
В XML-документе может быть только один элемент верхнего уровня. После окончания элемента у вас не может быть ничего другого. Похоже, что после элемента ""
у вас есть "<? Xml version =" 1.0> ",
, что недопустимо.