I'm trying to create in asp.net 2.0 a web service to download a file (pop up window with Open or Save the file), in this way:
$.ajax({ type: "POST", url: "webservice.asmx/download", data: "{}", contentType: "application/json; charset=utf-8", success: function (res) { console.log("donwloaded"); } }); And in "webservice.asmx"
[WebMethod()] public byte[] DownloadFile(string FName) { System.IO.FileStream fs1 = null; fs1 = System.IO.File.Open(FName, FileMode.Open, FileAccess.Read); byte[] b1 = new byte[fs1.Length]; fs1.Read(b1, 0, (int)fs1.Length); fs1.Close(); return b1; } [WebMethod] public void download() { string filename = "test.txt"; string path = "C:\\test.txt"; byte[] ls1 = DownloadFile(path); HttpResponse response = Context.Response; response.Clear(); response.BufferOutput = true; response.ContentType = "application/octet-stream"; response.ContentEncoding = Encoding.UTF8; response.AppendHeader("content-disposition", "attachment; filename=" + filename); response.BinaryWrite(ls1); response.Flush(); response.Close(); } In this way I see the contents of the file (I can't to download the file whith a popup window).
Where I wrong? Is it possible to do this?
thanks in advance