2016-06-27 4 views
1

Я пытаюсь загрузить файл с удаленного сервера, но я столкнулся с ошибками.MVC Загрузить файл с удаленного сервера

public ActionResult Download() 
{ 
    var a = new Uri("file://<<REMOTE_SERVER>>/<<Folder>>/Test.csv"); 
    return File(a, "application/csv", "test.csv"); 
} 

Ошибка:

file://<<REMOTE_SERVER>>/<<Folder>>/Test.csv is not a valid virtual path. 
+0

ли удаленный сервер и папка должны быть переменными? –

+0

@AndrewKilburn, не переменные, он будет иметь значения .. –

+0

Вы уверены, что в файле «файл: //»? вы должны использовать другой протокол, файл: // для локальных файлов –

ответ

1
using System.Security.Principal;   

using (new Impersonator("myUsername", "myDomainname", "myPassword")) 
      { 
      return File(@"<<REMOTE_SERVER>>\<<Folder>>\Test.csv", "application/csv", "test.csv"); 
      } 

Если вы добавите знак @ это будет отключить все спецсимволы. Кроме того, у вас есть только один/в середине вашего пути, поэтому он недействителен.

Посмотрите здесь для получения дополнительной информации: https://msdn.microsoft.com/en-us/library/w070t6ka(v=vs.110).aspx

+0

, его не работает ... –

+0

Хорошо, это все та же ошибка? Тогда я верю, что путь, вероятно, неверен. Можете ли вы скопировать путь и вставить его в проводник документа, чтобы привести в нужный файл? –

+0

Он работает, но он просит учетные данные и как это передать? –

0

Попробуйте использовать прямой путь:

var a = "\\\<<REMOTE_SERVER>>\\<<Folder>>\\Test.csv"; 
return File(a, "application/csv", "test.csv"); 
Смежные вопросы