
Frage:
Wie kann eine Datei von einem gestreamt werden? URL und werden zum Speichern aufgefordert Browser?
Hintergrund:
In diesem Szenario wird eine Datei in einem virtuell zugeordneten Verzeichnis gespeichert, sodass über Server.MapPath nicht darauf zugegriffen werden kann. Das Ziel besteht darin, die Datei zu streamen und dabei eine Web-URL anstelle eines Serverdateipfads zu übergeben.
Lösung:
Um dieses Problem zu lösen, kann HttpWebRequest zum Abrufen verwendet werden Laden Sie die Datei von der URL herunter und streamen Sie sie zurück zum Client.
// Create stream for the file
Stream stream = null;
// Chunk size for reading bytes
int bytesToRead = 10000;
// Buffer for reading bytes
byte[] buffer = new Byte[bytesToRead];
try
{
// HTTP request to get the file
HttpWebRequest fileReq = (HttpWebRequest)HttpWebRequest.Create(url);
// HTTP response for the request
HttpWebResponse fileResp = (HttpWebResponse)fileReq.GetResponse();
// Get response stream
stream = fileResp.GetResponseStream();
// Client response object
var resp = HttpContext.Current.Response;
// Indicate data type
resp.ContentType = "application/octet-stream";
// File name
resp.AddHeader("Content-Disposition", "attachment; filename=\"" + fileName + "\"");
// File size
resp.AddHeader("Content-Length", fileResp.ContentLength.ToString());
int length;
do
{
// Client connected?
if (resp.IsClientConnected)
{
// Read data into buffer
length = stream.Read(buffer, 0, bytesToRead);
// Write data to output stream
resp.OutputStream.Write(buffer, 0, length);
// Flush data
resp.Flush();
// Clear buffer
buffer = new Byte[bytesToRead];
}
else
{
// Cancel if client disconnected
length = -1;
}
} while (length > 0);
}
finally
{
// Close input stream
if (stream != null)
stream.Close();
}Das obige ist der detaillierte Inhalt vonWie streame und veranlasse ich den Download einer Datei von einer URL in ASP.NET?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Der Zweck von memcpy in c
Sonst-Verwendung in der Python-Schleifenstruktur
So kaufen und verkaufen Sie Bitcoin auf Binance
Inländische Bitcoin-Kauf- und Verkaufsplattform
Ist OuYi Exchange legal?
Häufig verwendete Linux-Befehle
So erstellen Sie ein rundes Bild in ppt
Was ist der Unterschied zwischen Ibatis und Mybatis?