如何使用静态网页从服务器下载文件?

时间:2014-06-24 11:37:23

标签: jquery asp.net ajax json jqgrid

我正在使用静态网页。当我单击按钮时,我想从Web浏览器下载文件。我正在使用jsonjqueryjqgrid。您能告诉我如何使用jsonjqueryjqgrid进行下载吗?

这是我的代码:

string filePath = ConfigurationManager.AppSettings["myFilePath"].ToString();
Guid g;
g = Guid.NewGuid();
string strFilename = EmpId + g + ".xml";
string Mappingpath = HttpContext.Current.Server.MapPath(filePath + strFilename);
xmlDoc.Save(Mappingpath);
return filePath + strFilename;

我的jqgrid代码是

$.ajax({
    type: "POST",
    url: "EmployeeDetails.aspx/savefile_XML",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    data: "{'getdata':" + JSON.stringify(getdata) + "}",
    success: function (msg) {
        window.open(msg.d, "Employyees");
        var link = document.createElement("EmployeeDetails");
        var fileName = data.substring(data.lastIndexOf('/') + 1);
        link.download = fileName;
        link.href = data;
        link.click();
        alert("downloaded");
    },

在该代码中,windows.open()工作正常,但我的文件未从Web浏览器下载。我在Internet Explorer中出错了;它是JavaScript运行时错误:Object doesn't support property or method lastIndexOf

我的问题是当用户点击按钮显示保存文件位置窗口时,如何使用此代码下载文件。

0 个答案:

没有答案