For work I am working on a file export. The data all exports just fine but what is concerning is that no file dialog appears, as well there is no indication from the browser that the file has been downloaded.
My file download consists of two ajax handlers and some javascript.
My button has an onclick event, this calls generateReport
which places a spinner over the page and calls a Handler. This handler prepares the data and saves it to file.
Once that is done the javascript calls a second handler which retrieves the saved file and is supposed to send it to the user with a prompt for them to save it. The second handler is called and throws no errors.
My second (not working) handler is here:
baseDir = ProjectConfig.BaseShareFolderPath
Dim fileStream As FileStream = New FileStream((baseDir + "\" + filePath), FileMode.Open, FileAccess.Read)
Dim bytes As Byte()
Dim binaryReader As BinaryReader = New BinaryReader(fileStream)
bytes = binaryReader.ReadBytes(fileStream.Length)
fileStream.Close()
fileStream.Dispose()
binaryReader.Close()
Dim fileName As String = filePath.Substring(filePath.IndexOf("\Crm") + 1)
context.Response.ContentType = "xls"
context.Response.AppendHeader("content-disposition", "attachment;filename=" & fileName)
context.Response.OutputStream.Write(bytes, 0, bytes.Length)
context.Response.OutputStream.Flush()
context.Response.OutputStream.Close()
context.Response.End()
Can anyone see any reason this would not prompt the user with the file dialog? We use similar code in other projects, mine just seems to be missing some small piece.