2016-04-13 3 views
3

мне нужно выполнить эти операции над приложением MVC:ASP.NET MVC Сохранение в определенную папку на клиенте

  1. Пользователь выбирает файл из сетки
  2. Файл должен быть сохранен на общая папка
  3. пользователь изменяет файл с Excel
  4. файл сохраняется в той же папке общего
  5. Deamon сервер будет обрабатывать файл

Моя основная проблема (и я не знаю, могу ли я ее использовать) заключается в том, чтобы предложить пользователю сохранить файл в общей папке ... это возможно? или в качестве альтернативы я могу сделать с помощью javascript, чтобы открыть файл, зная общую папку и имя файла?

+0

Я не уверен, что это возможно – ediblecode

+0

FileSave метод поможет вам. – Bharat

ответ

2

Если вы разместили приложение на IIS клиента и с вашего локального хоста, вы хотите сохранить файл на клиентский конец.

Посмотрите на этот код, может быть, он вам поможет.

if (!string.IsNullOrEmpty(Path)) 
{  
    FileUpload file = new FileUpload();   
    string Folder = HttpContext.Current.Server.MapPath(Path); 
    string Path = Path.Combine(Folder, File); 
    file.SaveAs(Path);  
} 

но путь папки должны быть разделены ..

+0

это делается на контроллере? или javascript? – advapi

+0

на стороне вашего контроллера. – Bharat

+0

и файл - какой тип объекта? но ваш код сохраняет файл в общей папке ... не через клиента на удаленном пути – advapi

1

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

+0

моему другу, можно сохранить файл в общей папке компьютера клиента ... – Bharat

+0

Общая папка отличается. Я не упоминал общую папку. Но теперь я вижу, что он хочет сохранить в общей папке. – Saleh

+0

да, это правда .. просто отредактируйте свой ответ, чтобы я мог его продвигать. – Bharat

0

Попробуйте это в контроллере, чтобы получить путь по умолчанию загрузки папки на стороне клиента:

string filename = "YourFile.xls"; 
    string path = GetDownloadPath(); 

private static string GetDownloadPath() 
      { 
       String path = String.Empty; 
       RegistryKey rKey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Internet Explorer\Main"); 
       if (rKey != null) 
        path = (String)rKey.GetValue("Default Download Directory"); 
       if (String.IsNullOrEmpty(path)) 
        path = Environment.GetFolderPath(Environment.SpecialFolder.UserProfile) + "\\downloads"; 
       return path; 
     } 
Смежные вопросы