singlepost

Сохранение файла на клиенте ASP.NET << На главную или назад  

Как на клиенте осуществлять создание файла "сохранить как"?
Есть такой вариант на яваскрипте:
function pageLoad()
{
document.execCommand("saveas", true, ".txt");
}
Но он не очень подходит, нужно чтобы он сохранял данные только из Грида.
Страница может работать только в ИЕ, поэтому с АктивХ ограничений нет

10 ответов в теме “Сохранение файла на клиенте ASP.NET”

  1. 10
    Леонид Максимов ответил:

    >>На любом сайта где предлагается скачать файл (какой-нить квип.ру или рапида ли все что угодно) при нажатие на ссылку всплывает окно "сохранить как".

    это не результат деятельности скрипта, а просто ссылка на файл.

  2. 9
    Andrey Panov ответил:

    Согласен, не корректно написал((
    и все же решение можно найти?
    пока 2 варианта либо указанное в первом посте, либо сохранять в директорию "по умолчанию"

  3. 8
    Andrey Panov ответил:

    Реализовывать надо на клиенте, №5 не решает мою проблему

  4. 7
    Константин Нагибович ответил:

    а вы попробовали вариант #5?

  5. 6
    Andrey Panov ответил:

    #4 почему? На любом сайта где предлагается скачать файл (какой-нить квип.ру или рапида ли все что угодно) при нажатие на ссылку всплывает окно "сохранить как".
    Там же не пишется "файл будет сохранен в такую-то директорию"

  6. 5
    Andrey Panov ответил:

    И где в данном решении у нас будет окно с выбором "сохранить как"?
    это хорошо реализовано в windows.forms есть класс SaveFileDialog, а тут нету
    и конечно можно после нажатия кнопки "сохранить" выводить сообщение типа "файл сохранен в директорию "C:\\myFile.txt".
    Но желательно было бы предоставить пользователю возможность именовать и сохранять файл куда он хочет

  7. 4
    Максим Салтанов ответил:

    на клиенте из javas?1?ript только этот вариант. но что мешает подтянуть данные с сервера. получится что то в этом роде:

    void download(Object sender,EventArgs e)
    {
    try
    {
    System.String filename = "myFile.txt";// this is your file name
    Response.ContentType = "APPLICATION/OCTET-STREAM";
    System.String disHeader = "Attachment; Filename=\"" + filename +"\"";
    Response.AppendHeader("Content-Disposition", disHeader);
    System.IO.FileInfo fileToDownload = new System.IO.FileInfo("C:\\myFile.txt");
    //filepath to download
    Response.Flush();
    Response.WriteFile(fileToDownload.FullName);}
    catch (System.Exception ex)
    {
    }
    }

  8. 3
    Леонид Максимов ответил:

    это же небезопасно.

  9. 2
    Andrey Panov ответил:

    Стандартного функционала save as для грида нету и это не важно, вопрос не как передать значение, а как окно сохранения открыть на клиенте, не в стандартную директорию, а чтобы пользователь сам мог выбрать путь и название

  10. 1
    Леонид Максимов ответил:

    а сам грид сохранять данные не умеет?

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.