Solved

Transfer files from one server to another using httprequest

Posted on 2008-10-16
3
789 Views
Last Modified: 2013-12-17
I need to be able to transfer files between 2 web servers on totally different domains.  I was told that I can post a file from one server to an ashx handler on the other server using the publicly accessible URLs (and some basic authentication).  So far, all my code does is spin its wheels when


StreamWriter myWriter = null;

            HttpWebRequest objRequest = (HttpWebRequest)WebRequest.Create("http://server2");
            objRequest.Method = "POST";
            FileStream fs = new FileStream(
 "\defaultsmall.jpg",FileMode.Open,FileAccess.Read);
            byte[] data = new byte[fs.Length];
            fs.Read(data,0,Convert.ToInt32(fs.Length));
            fs.Close();
            objRequest.ContentLength = data.Length;
            objRequest.ContentType = "application/x-www-form-urlencoded";
            myWriter = new StreamWriter(objRequest.GetRequestStream());
            myWriter.Write(data);
            myWriter.Close();
            string result = "";
            HttpWebResponse objResponse = (HttpWebResponse)objRequest.GetResponse();
            using (StreamReader sr =
               new StreamReader(objResponse.GetResponseStream()))
            {
                result = sr.ReadToEnd();
                sr.Close();
            }

My handler code is just :

public class TransportF : IHttpHandler {
   
    public void ProcessRequest (HttpContext context) {
        context.Response.Write("done");
           }
 
    public bool IsReusable {
        get {
            return false;
        }
    }

}


I understand that my handler code is lacking, but right now im focusing on the page that is actually trying to post the file.  Currently, it is giving me:

The request was aborted: The request was canceled. at System.Net.ConnectStream.CloseInternal(Boolean internalCall, Boolean aborting) at System.Net.ConnectStream.System.Net.ICloseEx.CloseEx(CloseExState closeState) at System.Net.ConnectStream.Dispose(Boolean disposing) at System.IO.Stream.Close() at System.IO.StreamWriter.Dispose(Boolean disposing) at System.IO.StreamWriter.Close()

when I try to close myWriter.  I know ive got a ways to go to get this to work, or maybe Im not even on the right track, but I cant seem to find any code examples that are helping.  Any advice would be greatly appreciated!!!
0
Comment
Question by:Skeletor11
3 Comments
 
LVL 13

Accepted Solution

by:
TechTiger007 earned 500 total points
ID: 22739087
You can do this by creating an aspx file with fileupload control in it. You can post the file to this page from the other page

Here is a sample that you can start with
http://forums.asp.net/t/1309555.aspx
0

Featured Post

Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

Join & Write a Comment

Suggested Solutions

This document covers how to connect to SQL Server and browse its contents.  It is meant for those new to Visual Studio and/or working with Microsoft SQL Server.  It is not a guide to building SQL Server database connections in your code.  This is mo…
Today I had a very interesting conundrum that had to get solved quickly. Needless to say, it wasn't resolved quickly because when we needed it we were very rushed, but as soon as the conference call was over and I took a step back I saw the correct …
This demo shows you how to set up the containerized NetScaler CPX with NetScaler Management and Analytics System in a non-routable Mesos/Marathon environment for use with Micro-Services applications.
This tutorial demonstrates a quick way of adding group price to multiple Magento products.

758 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now