2015-05-20 2 views
0

Я работаю над проектом MVC в Visual Studion, используя C#, Razor, HTML, JQuery и CSS. Проблема заключается в той части, где мы должны сгенерировать XML-файл библиотеки на основе вариантов, введенных пользователем. Один из вариантов - выбор изображения/значка. Я просто хочу, чтобы сделать один простой thing-указание пути файла изображения в mvc

  1. Пользователь выбирает файл на своем компьютере, который он хочет использовать в качестве значка.
  2. местоположение файла хранится в xml
  3. при дезацелировании файла library.xml, местоположение файла считывается и файл изображения копируется в папку проектов.

Problems-

  1. При этом все это я путаюсь, потому что в настоящее время локальный действует как сервер, так что нет никакой разницы в загрузке файлов с клиента против сервера.
  2. Если бы это было так, что файл должен быть указан с компьютера клиента, это означало бы загрузку его в другое место на сервере. Но это имеет некоторые последствия для безопасности.

Может ли кто-нибудь предложить мне обходное решение этих проблем. Я новичок во всем этом и не нашел вопросов, которые рассматривают проблему под этим углом зрения. Был бы очень благодарен за любую помощь. Спасибо заранее!

ответ

1
var fileName = Path.GetFileName(file.FileName); 
       var path = Path.Combine(Server.MapPath("~/Upload"), fileName); 
       file.SaveAs(path); 

Загрузить имя папки в приложении, где будет сохранено ваше изображение.

+0

Я должен написать код в виде части MVC с помощью JQuery и HTML5, поэтому у меня есть элемента типа = «файл» , Можете ли вы предложить что-то, что я могу сделать в части View – user3024292

+0

, потому что я написал полный код для генерации библиотеки в html5 и jquery, что, по вашему мнению, будет работать в части «контроллер», без сомнения, но я не знаю, как передать управляйте взад и вперед между «контроллером» и «представлением». – user3024292

1
Add this in view file and add the first code in controller 


@using (Html.BeginForm("Index", "Home", FormMethod.Post, new { enctype = "multipart/form-data" })) 
{ 
    <div> 
    <b><u>File Upload in MVC3 By Using Razor</u></b> 
     Select Image 
     <input type="file" name="file" />&nbsp;&nbsp;&nbsp; 
     <input type="submit" value="Upload Image" name="Command" /><br /> 
    </div> 
    <div> 
    @ViewBag.Message 
    </div> 
} 
+0

После завершения загрузки элемент управления вернется на страницу просмотра и продолжит форму с того места, где она была остановлена? Потому что в моем коде поля формы, выбранные пользователем, подбираются и передаются в строковую переменную, которая сохраняется на компьютере одним нажатием кнопки. Разве эти две вещи не вмешиваются? – user3024292

+1

Да в методе действия контроллера write, Return ("ViewName"); в конце. ViewName будет именем представления, которое содержит ваш код вида. Это перенаправит элемент управления обратно, чтобы просмотреть его. –

+0

Вы уверены, что это Return ("ViewName"); ? – user3024292

Смежные вопросы