我需要发送一个文件从服务器到浏览器(web客户端)

本文关键字:服务器 浏览器 客户端 web 文件 一个 | 更新日期: 2023-09-27 18:07:00

我需要发送一个文件从服务器到浏览器(web客户端)c# (ASP.NET)但在下载文件的同时,程序继续执行。我尝试使用任务,线程,异步方法…

//Create a WebRequest to get the file
FileWebRequest fileReq = (FileWebRequest)FileWebRequest.Create(this.CaminhoCompleto);
//Create a response for this request
FileWebResponse fileResp = (FileWebResponse)fileReq.GetResponse();
if (fileReq.ContentLength > 0)
fileResp.ContentLength = fileReq.ContentLength;
//Get the Stream returned from the response
stream = fileResp.GetResponseStream();

// prepare the response to the client. resp is the client Response
HttpResponse resp = HttpContext.Current.Response;
//ERRO!!!
teste(stream, resp, fileResp);
string nomeArq = fileResp.ResponseUri.Segments[(fileResp.ResponseUri.Segments.Length) - 1];
//Indicate the type of data being sent
resp.ContentType = "application/octet-stream";
//Name the file 
resp.AddHeader("Content-Disposition", "attachment; filename='"" + nomeArq + "'"");
resp.AddHeader("Content-Length", fileResp.ContentLength.ToString());
//await stream.CopyToAsync(resp.OutputStream);

我需要发送一个文件从服务器到浏览器(web客户端)

使用Iframe从服务器请求文件。您可以使用JavaScript创建一个,并将其src作为服务器端点。当内容准备好下载时,它将从浏览器打开一个保存对话框。