ASP.NET MVC 3, передать файл с сервера на клиент - PullRequest
0 голосов
/ 21 ноября 2011

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

Все дело в том, что фоновая программа генерирует файл данных на сервере, после чего я хочу передать файл данных с сервера на клиент.
Я использовал FileStreamResult и FileContentResult, но это не работает.

Был создан файл * .csv, затем файл необходимо передать клиенту. в контроллере код очень прост, например return new FilePathResult(filePath,"text/csv");, и я установил точку останова, код выполняется без каких-либо исключений, но я не увидел ни одного веб-диалога, позволяющего пользователю выбрать путь для сохранения файла CSV.

Ответы [ 2 ]

2 голосов
/ 21 ноября 2011

Попробуйте использовать return File ()

public FileResult GetFile()
{
    byte[] test = { 0 };
    return File(test, "text/csv","TempFile.csv");
}

и вызов его с помощью actionlink.

@Html.ActionLink("Download File","GetFile","Home")
0 голосов
/ 22 ноября 2011

Спасибо, ребята, я изменил дизайн - поместите файл csv в корневой веб-каталог (например, \ File \ Date \ testing.csv) в методе Controller, чтобы вернуть json, который указывает на местоположение csv (например, /File/Date/testing.csv), js должен получить URL и перенаправить на /File/Date/testing.csv.

    public FastJsonResult Download()
    { 
        //generate the csv file under root path

        //return the url point to the file

        return JsonView(path);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...