Asp.net загрузчик файлов mvc3 со стороны сервера?

#asp.net-mvc #asp.net-mvc-3

#asp.net-mvc #asp.net-mvc-3

Вопрос:

Я работаю над asp.net mvc3 с помощью Ctrl для загрузки файлов.

Как установить путь к папке сервера в диалоговом окне открытия файла по умолчанию?

 <input type="file" runat="server"  name="@item.Id" id="fu_@item.Id" value="@Html.Encode(item.FileName)" title="@item.FileName" disabled="disabled"  style="width: 700px;" />
 

runat=»server» Откроет диалоговое окно открытия файла сервера?

и как установить путь по умолчанию в этом?

есть ли какие-либо другие причины, пожалуйста. дайте знать..

Спасибо

Ответ №1:

Перво-наперво в ASP.NET MVC вы больше не должны использовать runat="server" атрибут ни для одного из ваших элементов DOM в разметке. Что касается вашего вопроса о настройке папок по умолчанию в диалоговом окне «Открыть файл», по соображениям безопасности это невозможно сделать на клиенте.

Ответ №2:

Я не думаю, что вы можете это сделать, путь, по которому он открывается, полностью зависит от браузера пользователя, я не думаю, что вы можете повлиять на это.

Ответ №3:

Вот как вы это делаете…

Вы можете изменить путь по умолчанию для элемента управления FileUpload в MVC3…

в вашем файле .cshtml вы можете использовать такой подход или аналогичный…

 using (Begin.Form("ActionName", "ControllerName", FormMethod.Post, new { new enctype="multipart/form-data", @id="Upload", path="System.Configuration.ConfigurationManager.Appsettings[@"DialogDefaultPath] }))
{
   @Html.TextBoxFor(m => m.'YourPropertyToGetPath', new { @type="file", @id="fileUpload })
}
 

НЕОБЯЗАТЕЛЬНО, ТАК КАК я ИСПОЛЬЗУЮ НАСТРОЙКИ ПРИЛОЖЕНИЙ. ВЫ МОЖЕТЕ ЖЕСТКО ЗАПРОГРАММИРОВАТЬ ЕГО, ЕСЛИ ХОТИТЕ

в вашем Web.Config

 <appSettings>
    <add key="DialogDefaultPath" value="**DESIRED PATH**"/>
</appSettings>