Форум программистов, компьютерный форум, киберфорум
C#: ASP.NET Core
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/34: Рейтинг темы: голосов - 34, средняя оценка - 4.68
1 / 1 / 0
Регистрация: 16.12.2016
Сообщений: 53

При сохранении файла ошибка Could not find a part of the path 'D:\BU_test.xml'

24.02.2020, 14:13. Показов 6812. Ответов 11

Author24 — интернет-сервис помощи студентам
Пытаюсь сохранить файл xml таким образом
C# Скопировано
1
xdoc.Save("D:/BU_test.xml");
На локалке все работает, когда закидываю на iis, вылазит ошибка Could not find a part of the path 'D:\BU_test.xml'
Вот файл web.config, думаю, может в нем проблема
XML Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet" arguments=".\WebApplication2.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" >
    <environmentVariables>
          <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
        </environmentVariables>
      </aspNetCore>
    </system.webServer>
  </location>
</configuration>
Буду благодарна за любую помощь
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
24.02.2020, 14:13
Ответы с готовыми решениями:

Перенос строк при сохранении XML файла
Здравствуйте. Хочу задать вопрос. Я пытаюсь сохранить древовидные данные в XML файл с помощью компонента XMLDocument. Кусок кода примерно...

Ошибка при программировании в среде Dev C++ "No include path in which to find stdio.s"
Здравствуйте! Я недавно начал программировать на ЯП Си. Для этого я выбрал среду Dev C++, но при выполнении первого же задания наткнулся...

При сохранении xml возникает ошибка, связанная с кодировкой
string str = null; string strRepl = null; StreamReader sr = new StreamReader(@&quot;C:\ParserHTML\sample.xml&quot;); while (!sr.EndOfStream) ...

11
911 / 796 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
24.02.2020, 14:16
а где iis по вашему должен взять диск D?
0
1 / 1 / 0
Регистрация: 16.12.2016
Сообщений: 53
24.02.2020, 14:47  [ТС]
Цитата Сообщение от SeIZVeIZ Посмотреть сообщение
а где iis по вашему должен взять диск D?
а можете подсказать, как правильно указать путь, чтоб сохранять файл с iis?
0
800 / 583 / 207
Регистрация: 21.02.2019
Сообщений: 2,095
24.02.2020, 14:57
_Lis_, Создайте виртуальный каталог (Virtual Directory) на сайте IIS и в его свойствах укажите путь к папке на диске .. Нужно еще будет настроить разрешения для данной папки ..
1
 Аватар для Bampo
114 / 82 / 37
Регистрация: 15.02.2020
Сообщений: 206
24.02.2020, 15:12
_Lis_,
На локалке все работает, когда закидываю на iis, вылазит ошибка
я правильно понимаю, что iis на другом хосте? А на нем диск d имеется?
1
911 / 796 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
24.02.2020, 16:15
_Lis_, обычно это делается как Вам уже описали, создаётся директория в wwwroot например Files, далее используйте относительный путь "Files/BU_test.xml"; и делаете что-то вроде такого:
C# Скопировано
1
2
3
4
using (var fileStream = new FileStream(_appEnvironment.WebRootPath + path, FileMode.Create))
        {
              xmlDoc.Save(fileStream);
        }
где _appEnvironment это объект типа IWebHostEnvironment который приходит в конструктор контролера.
1
1 / 1 / 0
Регистрация: 16.12.2016
Сообщений: 53
25.02.2020, 11:48  [ТС]
спасибо большое) подскажите пожалуйста, а как правильно это сделать, если файл нужно не на сервере сохранять, а у пользователя на компьютере по нажатию на кнопку
0
911 / 796 / 329
Регистрация: 08.02.2014
Сообщений: 2,391
25.02.2020, 11:58
_Lis_,
что-то вроде такого вроде бы:
C# Скопировано
1
2
3
4
5
6
7
8
9
10
[HttpPost]
[MultiButton(MatchFormKey = "action", MatchFormValue = "Save")]
public ActionResult XmlSave()
{
    using (var memoryStream = new MemoryStream())
    {
         xmlDoc.Save(memoryStream);
         return File(memoryStream, MediaTypeNames.Text.Xml, "BU_test.xml");
    }
}
и на странице естественно нужно сделать кнопку которая вызовет это событие чтобы пользователь мог выбрать куда ему сохранить.

p.s. но это всё примеры, надо пробовать, давно не работал с asp делаю по памяти.
1
 Аватар для Bampo
114 / 82 / 37
Регистрация: 15.02.2020
Сообщений: 206
25.02.2020, 12:05
_Lis_, надо уточнить - пользователь нажимает кнопку на странице сайта и ему с сервера возвращает файл, который нужно сохранить?
Если так, то метод контроллера который обрабатывает запрос должен делать примерно так:
C# Скопировано
1
   return File(содержимое,"application/xml","BU_test.xml");
"содержимое" может быть в разных видах, почитай документацию.
1
1 / 1 / 0
Регистрация: 16.12.2016
Сообщений: 53
25.02.2020, 13:14  [ТС]
сейчас у меня в методе
C# Скопировано
1
2
3
 [HttpPost]
        public string Construct{}
        {
есть код для генерации xml-файла,
XML Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
XDocument xdoc = new XDocument(new XElement("XML",
                     new XAttribute("type", "IMOS_ARTICLE"),
                     new XAttribute("version", '2'),
                   new XElement("ARTICLE",
                    new XElement("ART_NAME", "BU_uni"),
                    new XElement("ART_TYPE", "ANGOLO"),
                    new XElement("ART_DESIGN", ""),
                    new XElement("ART_INFO_LONG", ""),
                    new XElement("ART_INFO_SHORT", "")),
                    new XElement("DEFINITION",
                 new XElement("PARAFOLDER",
                    new XAttribute("name", "dimensions"),
                    new XAttribute("label", "параметры"),
 
                 new XElement("EDITBOX",
                    new XAttribute("LABEL", "ART_SIZEX"),
                    new XAttribute("NAME", "ART_SIZEX"),
                    new XAttribute("VALUETYPE", "TEXT"),
                    new XAttribute("ACTIVE", "true"),
                    new XAttribute("VISIBLE", "FALSE"),
                    new XAttribute("LOCKED", "FALSE"),
                    new XAttribute("GEOINFLUENCING", "true"),
..... и тд

который в конце выводит строку с переменными и этот файл должен быть сохранен на пк пользователя
0
800 / 583 / 207
Регистрация: 21.02.2019
Сообщений: 2,095
25.02.2020, 16:20
Цитата Сообщение от _Lis_ Посмотреть сообщение
который в конце выводит строку с переменными
..вот эту строку и сохраняйте в MemoryStream, как предложили выше .. или даже в байтовый массив, его тоже можно отдать через метод File ...
1
1 / 1 / 0
Регистрация: 16.12.2016
Сообщений: 53
26.02.2020, 14:22  [ТС]
а не могли бы Вы подсказать, как должен выглядеть вызов этого события, чтоб пользователь мог выбрать, куда сохранять, на сервер файл сохраняется, а вот с сервера не могу его скачать((
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.02.2020, 14:22
Помогаю со студенческими работами здесь

Spring Multi Part загрузка файла и ошибка при подключении bean id multipartResolver
Пытаюсь реализовать upload файла-картинки на сервер на базе MultiPart механизма Spring В контроллере POST примерно так ...

Непонятная ошибка - cannot find symbol: variable Path
import java.util.Scanner; public class deleteMe { public static void main(String args) throws Exception { Scanner...

Ошибка при сохранении файла
Хотел сохранить файл. Маткад сказал, что сохранить не может, но есть резервная копия. Вышел из маткада. Вхожу - файла нет, всплывает...

Ошибка при сохранении файла
Почему при сохранении файла, если для формирования его имени использовать DateToStr(Now()) и TimeToStr(Now()) происходит ошибка? void...

Ошибка в методе при сохранении файла
Пытаюсь сохранить контейнер в файл, но выводит ошибку в классе tHouse на строчке 86. Понять не могу, в чем проблема. Так же указывает на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Списки и кортежи в Python: различия, особенности, применение
py-thonny 13.04.2025
Python славится своей гибкостью при работе с данными. В арсенале языка есть две основные последовательные структуры данных, которые программисты используют ежедневно — списки и кортежи. Эти структуры. . .
Middleware в ASP.NET Core
UnmanagedCoder 13.04.2025
В ASP. NET Core термин "middleware" занимает особое место. Что же это такое? Middleware представляет собой программные компоненты, которые формируют конвейер обработки HTTP-запросов в приложении. . . .
Таблицы лута в Unity с MinMaxCurve и AnimationCurve
GameUnited 12.04.2025
Создание сбалансированного лута в играх — задача не из простых. Разработчики постоянно ищут способы настройки систем выпадения предметов, которые будут одновременно справедливыми для игроков и. . .
std::expected в C++: Управление ошибками
bytestream 12.04.2025
Обработка ошибок всегда была важной и одновременно сложной задачей в программировании на C++. На протяжении долгого времени разработчики использовали различные подходы: возвращаемые коды ошибок,. . .
Nullable типы и операторы объединения null в C#
UnmanagedCoder 12.04.2025
Многие шутят, что null — это миллиардная ошибка в программировании. И в этой шутке только доля шутки. Тони Хоар, создатель null-ссылки, сам назвал её своей "ошибкой на миллиард долларов". Почему?. . .
Аутентификация и авторизация JWT в микросервисах с API Gateway
stackOverflow 12.04.2025
В традиционных монолитных приложениях безопасность часто реализуется как единый защитный периметр - пользователь проходит аутентификацию один раз, после чего получает доступ ко всем функциям системы. . . .
TypeScript: Интерфейсы vs Типы
run.dev 11.04.2025
Современная разработка на JavaScript сталкивается с множеством проблем при масштабировании проектов. Типизация кода стала хорошим инструментом, помогающим избежать ошибок во время выполнения,. . .
Управление топиками и разделами Kafka
Javaican 11.04.2025
Apache Kafka — распределенная платформа потоковой передачи данных, которая стала стандартом для построения высоконагруженных систем обмена сообщениями. В современной архитектуре микросервисов,. . .
Миграция монолита в Event-Driven микросервисную архитектуру на C#
stackOverflow 11.04.2025
Монолитная архитектура – классический подход к разработке программного обеспечения. Это приложение, построенное как единое целое, где все компоненты тесно связаны между собой. Большинство проектов. . .
Go в Kubernetes: Управление ресурсами
golander 11.04.2025
Разработчики Go-приложений в Kubernetes часто сталкиваются с неожиданными проблемами производительности и даже внезапными отказами контейнеров. Причина этого кроется в особенностях взаимодействия. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер