Cómo implementar hacer clic para descargar, obtener la ruta del archivo y descargarlo en vb.net
Descargue, lea el archivo directamente desde la URL y luego Response.OutputStream.Write() los datos
El siguiente es el método estático descargado en C# como referencia: ///? lt; resumengt ;
//?Descargar archivo
//? lt;/summarygt;
//? lt;param?name="nombre de archivo" gt;Descargar El nombre del archivo (incluida la extensión)lt;/paramgt;
//?lt;param?name="filePath"gt;La ruta absoluta para descargar el archivolt;/paramgt;
public?filePath)
{
//Abra el archivo que desea descargar y guárdelo en FileStream
System.IO. FileStream?OpenRead(filePath);
/Los bytes restantes del archivo a transferir: el valor inicial del tamaño total del archivo
long?Length?=?Reader.Length;
HttpContext .Current.Response.Buffer?=?false;
HttpContext.Current.Response.AddHeader("Conexión").
AddHeader("Connection",?"Keep-Alive");
HttpContext.Current.Response.ContentType?=?"application/octet-stream";
HttpContext.Current. Response.Charset?=??" utf-8";
HttpContext.Current.Response.AddHeader("Content-Disposition",?" adjunto;?filename="? ?System.Web.HttpUtility. UrlEncode(fileName));
HttpContext.Current.Response.AddHeader("Content-Length",?Length.ToString());
byte[]? Buffer?//El número de bytes realmente leídos cada vez
while(Length?gt;?0)
{ // Cuando el número restante de bytes no es cero, continúa la transmisión
if(HttpContext.Current.Response.OutputStream.Write(Buffer,?0,?ByteToRead);
//Escribe datos desde el búfer en el navegador del cliente
p>HttpContext.Current.Response.Flush();?
Longitud?-=?ByteToRead //bytes restantes reducidos}
else
{?
//El navegador del cliente se desconecta, impidiendo que el bucle continúe
Longitud?=?-1;
}
}
}//Cerrar el archivo
Reader.Close();
}
QQ: 12119551