PDA

View Full Version : دريافت فايل ارسال شده توسط HttpHandler !



amin_alexi
یک شنبه 08 آذر 1388, 15:45 عصر
سلام
من با تكه كد زير كه در يك Httphandler نوشتم
و با يك URL و QueryString


http://localhost:6687/XSN.handle?ID=7446CD8D-7903-4213-9704-DA146031025E
يك فايل رو از Database مي خونم و به عنوان Responce در خروجي Write مي كنم



public void ProcessRequest(HttpContext context)
{
byte[] XSN = null;
if (((((context.Request.QueryString["ID"]) != null)) && (!string.IsNullOrEmpty(context.Request.QueryString["ID"]))))
{
Guid ID = new Guid(context.Request.QueryString["ID"]);
XSN = DA.RetriveXSNById(ID);
}

if (!XSN.Equals(null))
{
System.IO.Stream stream = new MemoryStream(XSN);
int buffersize = (1024 * 16);

byte[] buffer = new byte[(buffersize)];
int count = stream.Read(buffer, 0, buffersize);

while ((count > 0))
{
context.Response.OutputStream.Write(buffer, 0, count);
count = stream.Read(buffer, 0, buffersize);
}
}
}

تا اينجا مشكلي نيست
اما حالا من مي خوام اين URL رو از داخل برنامه صدا بزنم و خروجي رو كه همون فايل Download شده هست رو بگيرم .
ممنون از توجه دوستان !

Chabok
یک شنبه 08 آذر 1388, 20:03 عصر
با سلام


اما حالا من مي خوام اين URL رو از داخل برنامه صدا بزنم و خروجي رو كه همون فايل Download شده هست رو بگيرم .

اگر می خواهید کاربر این فایل را دریافت کند که توسط یک لینک او را به این Handler هدایت کنید :


<a href="http://localhost:6687/XSN.handle?ID=7446CD8D-7903-4213-9704-DA146031025E" target="_blank" >Download</a>


اگر منظورتان این است که سمت سرور توسط کد این فایل را دریافت کنید بدین صورت :

استفاده از کلاس WebClient در فضای نام System.Net


byte[] byt = new WebClient().DownloadData("http://localhost:6687/XSN.handle?ID=7446CD8D-7903-4213-9704-DA146031025E");

در غیر این صورت توضیح بیشتری بفرمایید .