مرجع تخصصی برنامه نویسان

بزرگترین انجمن برنامه نویسان فارسی زبان

دانلود فایل از سرور خارج با سرور داخلی جهت استفاده ترافیک

شنبه, 25 اسفند 1397 08:54

دانلود فایل از سرور خارج با سرور داخلی جهت استفاده ترافیک

سلام دوستان

من دنبال کدی میگشتم که با اجرا اون در سرور مجازی داخلی بشه لینک های خارجی تبدل کرد بدون اینکه فایل به سرور مجازی انتقال پیدا کنه وفقط از پهنا باند استفاده بشه 

من این کد رو پیدا کردم ولی مشکل Resume داره

کسی میتونه کمک کنه



        //Create a stream for the file
        Stream stream = null;

            //This controls how many bytes to read at a time and send to the client
            int bytesToRead = 10000;

            // Buffer to read bytes in chunk size specified above
            byte[] buffer = new Byte[bytesToRead];

            // The number of bytes read
            try
            {
                //Create a WebRequest to get the file
                HttpWebRequest fileReq = (HttpWebRequest)HttpWebRequest.Create("http://dlto.gfx1.ir/Theme/29263/Big-Bold-Corporate-Gfx1.ir.zip");

                //Create a response for this request
                HttpWebResponse fileResp = (HttpWebResponse)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
                var resp = HttpContext.Current.Response;

                //Indicate the type of data being sent
                resp.ContentType = "application/octet-stream";

                //Name the file 
                resp.AddHeader("Content-Disposition", "attachment; filename=\"" + "cvcv.zip" + "\"");
                resp.AddHeader("Content-Length", fileResp.ContentLength.ToString());


                int length;
                do
                {
                    // Verify that the client is connected.
                    if (resp.IsClientConnected)
                    {
                        // Read data into the buffer.
                        length = stream.Read(buffer, 0, bytesToRead);

                        // and write it out to the response's output stream
                        resp.OutputStream.Write(buffer, 0, length);

                        // Flush the data
                        resp.Flush();

                        //Clear the buffer
                        buffer = new Byte[bytesToRead];
                    }
                    else
                    {
                        // cancel the download if client has disconnected
                        length = -1;
                    }
                }





                while (length > 0); //Repeat until no data is read
            }
            finally
            {
                if (stream != null)
                {
                    //Close the input stream
                    stream.Close();
                }
            }

ارسال پاسخ برای این تاپیک

ارسال پاسخ مخصوص اعضا سایت می باشد ! میتوانید با حساب کاربری خود وارد سایت شده یا ثبت نام کنید