By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
431,818 Members | 1,381 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 431,818 IT Pros & Developers. It's quick & easy.

Webclient UploadFile "could not find file c:\..."

P: n/a
I followed the instructions from MSDN for Webclient UploadFile and I get an
error: Could not find file 'C:\testfile.xls'.

If I add the file (c:\testfile.xls) to the server I do not get the error and
the file is copied from the server to the server, rather than from the web
client to the server.

Please help!!!

Here is my code:

--------------Default.aspx---------

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"
Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" method="post" runat=server>
<div>
<asp:FileUpload ID="FileUpload1" runat="server" Style="z-index: 100;
left: 22px;
position: absolute; top: 16px" Width="537px" />
<asp:Button ID="sendfileButton" runat="server"
OnClick="sendfileButton_Click" Style="z-index: 102;
left: 27px; position: absolute; top: 55px" Text="Send File"
Width="90px" />

</div>
</form>
</body>
</html>
--------------- default.aspx.cs ----------------------

protected void sendfileButton_Click(object sender, EventArgs e)
{
String sPath = @"C:\PricingImportTest.xls";
String sPost = "http://webservername/confirm.aspx";

// Create a new WebClient instance.
WebClient myWebClient = new WebClient();
// Upload the file to the URL using the HTTP 1.0 POST.
byte[] responseArray = myWebClient.UploadFile(sPost, sPath);

}
----------- confirm.aspx --------------------------

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Confirm.aspx.cs"
Inherits="Confirm" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" method="post" runat="server">
<div>

</div>
</form>
</body>
</html>
--------- confirm.aspx.cs --------------------------

public partial class Confirm : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
foreach(string f in Request.Files.AllKeys)
{
HttpPostedFile file = Request.Files[f];
file.SaveAs(@"c:\users\tmp\" + file.FileName);
}
}
}

Oct 31 '08 #1
Share this Question
Share on Google+
6 Replies


P: n/a
I think you confusing Upload with Download...

Upload - from client to server
Download from server to client.
George.
"Scott Trick" <Sc********@discussions.microsoft.comwrote in message
news:71**********************************@microsof t.com...
>I followed the instructions from MSDN for Webclient UploadFile and I get an
error: Could not find file 'C:\testfile.xls'.

If I add the file (c:\testfile.xls) to the server I do not get the error
and
the file is copied from the server to the server, rather than from the web
client to the server.

Please help!!!

Here is my code:

--------------Default.aspx---------

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"
Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" method="post" runat=server>
<div>
<asp:FileUpload ID="FileUpload1" runat="server" Style="z-index:
100;
left: 22px;
position: absolute; top: 16px" Width="537px" />
<asp:Button ID="sendfileButton" runat="server"
OnClick="sendfileButton_Click" Style="z-index: 102;
left: 27px; position: absolute; top: 55px" Text="Send File"
Width="90px" />

</div>
</form>
</body>
</html>
--------------- default.aspx.cs ----------------------

protected void sendfileButton_Click(object sender, EventArgs e)
{
String sPath = @"C:\PricingImportTest.xls";
String sPost = "http://webservername/confirm.aspx";

// Create a new WebClient instance.
WebClient myWebClient = new WebClient();
// Upload the file to the URL using the HTTP 1.0 POST.
byte[] responseArray = myWebClient.UploadFile(sPost, sPath);

}
----------- confirm.aspx --------------------------

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Confirm.aspx.cs"
Inherits="Confirm" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" method="post" runat="server">
<div>

</div>
</form>
</body>
</html>
--------- confirm.aspx.cs --------------------------

public partial class Confirm : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
foreach(string f in Request.Files.AllKeys)
{
HttpPostedFile file = Request.Files[f];
file.SaveAs(@"c:\users\tmp\" + file.FileName);
}
}
}
Oct 31 '08 #2

P: n/a
No I'm not confused I probably just didn't explain my problem good enough.

What is happening is that the UploadFile command is looking on the c drive
of the server rather than the c drive of the webclient.

In the command below sPath is supposed to be the path of a file on the web
client and sent to the web server but the command is looking on the server
for sPath???

// Upload the file to the URL using the HTTP 1.0 POST.
byte[] responseArray = myWebClient.UploadFile(sPost, sPath);

"George" wrote:
I think you confusing Upload with Download...

Upload - from client to server
Download from server to client.
George.
"Scott Trick" <Sc********@discussions.microsoft.comwrote in message
news:71**********************************@microsof t.com...
I followed the instructions from MSDN for Webclient UploadFile and I get an
error: Could not find file 'C:\testfile.xls'.

If I add the file (c:\testfile.xls) to the server I do not get the error
and
the file is copied from the server to the server, rather than from the web
client to the server.

Please help!!!

Here is my code:

--------------Default.aspx---------

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"
Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" method="post" runat=server>
<div>
<asp:FileUpload ID="FileUpload1" runat="server" Style="z-index:
100;
left: 22px;
position: absolute; top: 16px" Width="537px" />
<asp:Button ID="sendfileButton" runat="server"
OnClick="sendfileButton_Click" Style="z-index: 102;
left: 27px; position: absolute; top: 55px" Text="Send File"
Width="90px" />

</div>
</form>
</body>
</html>
--------------- default.aspx.cs ----------------------

protected void sendfileButton_Click(object sender, EventArgs e)
{
String sPath = @"C:\PricingImportTest.xls";
String sPost = "http://webservername/confirm.aspx";

// Create a new WebClient instance.
WebClient myWebClient = new WebClient();
// Upload the file to the URL using the HTTP 1.0 POST.
byte[] responseArray = myWebClient.UploadFile(sPost, sPath);

}
----------- confirm.aspx --------------------------

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Confirm.aspx.cs"
Inherits="Confirm" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" method="post" runat="server">
<div>

</div>
</form>
</body>
</html>
--------- confirm.aspx.cs --------------------------

public partial class Confirm : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
foreach(string f in Request.Files.AllKeys)
{
HttpPostedFile file = Request.Files[f];
file.SaveAs(@"c:\users\tmp\" + file.FileName);
}
}
}

Oct 31 '08 #3

P: n/a
WebClient allows a program to upload a file via http to another server. as
you are running webclient on the web server, the server is the client, and it
can only access its own files.

it is unclear what you are trying to do. you have the browser upload a file
to the server, but don't do anything with it. did you forget to save the
browsers uploaded file to disk? are you trying to send it to another server?
-- bruce (sqlwork.com)
"Scott Trick" wrote:
No I'm not confused I probably just didn't explain my problem good enough.

What is happening is that the UploadFile command is looking on the c drive
of the server rather than the c drive of the webclient.

In the command below sPath is supposed to be the path of a file on the web
client and sent to the web server but the command is looking on the server
for sPath???

// Upload the file to the URL using the HTTP 1.0 POST.
byte[] responseArray = myWebClient.UploadFile(sPost, sPath);

"George" wrote:
I think you confusing Upload with Download...

Upload - from client to server
Download from server to client.
George.
"Scott Trick" <Sc********@discussions.microsoft.comwrote in message
news:71**********************************@microsof t.com...
>I followed the instructions from MSDN for Webclient UploadFile and I get an
error: Could not find file 'C:\testfile.xls'.
>
If I add the file (c:\testfile.xls) to the server I do not get the error
and
the file is copied from the server to the server, rather than from the web
client to the server.
>
Please help!!!
>
>
>
Here is my code:
>
--------------Default.aspx---------
>
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"
Inherits="_Default" %>
>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" method="post" runat=server>
<div>
<asp:FileUpload ID="FileUpload1" runat="server" Style="z-index:
100;
left: 22px;
position: absolute; top: 16px" Width="537px" />
<asp:Button ID="sendfileButton" runat="server"
OnClick="sendfileButton_Click" Style="z-index: 102;
left: 27px; position: absolute; top: 55px" Text="Send File"
Width="90px" />
>
</div>
</form>
</body>
</html>
>
>
--------------- default.aspx.cs ----------------------
>
protected void sendfileButton_Click(object sender, EventArgs e)
{
String sPath = @"C:\PricingImportTest.xls";
String sPost = "http://webservername/confirm.aspx";
>
// Create a new WebClient instance.
WebClient myWebClient = new WebClient();
>
>
// Upload the file to the URL using the HTTP 1.0 POST.
byte[] responseArray = myWebClient.UploadFile(sPost, sPath);
>
}
>
>
----------- confirm.aspx --------------------------
>
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Confirm.aspx.cs"
Inherits="Confirm" %>
>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" method="post" runat="server">
<div>
>
</div>
</form>
</body>
</html>
>
>
--------- confirm.aspx.cs --------------------------
>
public partial class Confirm : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
foreach(string f in Request.Files.AllKeys)
{
HttpPostedFile file = Request.Files[f];
file.SaveAs(@"c:\users\tmp\" + file.FileName);
}
}
}
>
Oct 31 '08 #4

P: n/a
Ok, then you have some messed up code...
You Default.aspx has a FileUpload control but instead of saving file when
button is pressed (event sendfileButton_Click)
you doing some weird thing.

Your confirm.aspx.cs has correct code but what is it for no clear....
since there is no FileUpload control on confirm.aspx

Do something like this.
protected void sendfileButton_Click(object sender, EventArgs e)
{
String sPath = @"C:\PricingImportTest.xls";
if (FileUpload1.HasFile)
FileUpload1.SaveAs(sPath);
}
George
"Scott Trick" <Sc********@discussions.microsoft.comwrote in message
news:25**********************************@microsof t.com...
No I'm not confused I probably just didn't explain my problem good enough.

What is happening is that the UploadFile command is looking on the c drive
of the server rather than the c drive of the webclient.

In the command below sPath is supposed to be the path of a file on the web
client and sent to the web server but the command is looking on the server
for sPath???

// Upload the file to the URL using the HTTP 1.0 POST.
byte[] responseArray = myWebClient.UploadFile(sPost, sPath);

"George" wrote:
>I think you confusing Upload with Download...

Upload - from client to server
Download from server to client.
George.
"Scott Trick" <Sc********@discussions.microsoft.comwrote in message
news:71**********************************@microso ft.com...
>I followed the instructions from MSDN for Webclient UploadFile and I get
an
error: Could not find file 'C:\testfile.xls'.

If I add the file (c:\testfile.xls) to the server I do not get the
error
and
the file is copied from the server to the server, rather than from the
web
client to the server.

Please help!!!

Here is my code:

--------------Default.aspx---------

<%@ Page Language="C#" AutoEventWireup="true"
CodeFile="Default.aspx.cs"
Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" method="post" runat=server>
<div>
<asp:FileUpload ID="FileUpload1" runat="server" Style="z-index:
100;
left: 22px;
position: absolute; top: 16px" Width="537px" />
<asp:Button ID="sendfileButton" runat="server"
OnClick="sendfileButton_Click" Style="z-index: 102;
left: 27px; position: absolute; top: 55px" Text="Send File"
Width="90px" />

</div>
</form>
</body>
</html>
--------------- default.aspx.cs ----------------------

protected void sendfileButton_Click(object sender, EventArgs e)
{
String sPath = @"C:\PricingImportTest.xls";
String sPost = "http://webservername/confirm.aspx";

// Create a new WebClient instance.
WebClient myWebClient = new WebClient();
// Upload the file to the URL using the HTTP 1.0 POST.
byte[] responseArray = myWebClient.UploadFile(sPost, sPath);

}
----------- confirm.aspx --------------------------

<%@ Page Language="C#" AutoEventWireup="true"
CodeFile="Confirm.aspx.cs"
Inherits="Confirm" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" method="post" runat="server">
<div>

</div>
</form>
</body>
</html>
--------- confirm.aspx.cs --------------------------

public partial class Confirm : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
foreach(string f in Request.Files.AllKeys)
{
HttpPostedFile file = Request.Files[f];
file.SaveAs(@"c:\users\tmp\" + file.FileName);
}
}
}

Oct 31 '08 #5

P: n/a
What I am trying to do is allow for users to upload files to our web server.

"bruce barker" wrote:
WebClient allows a program to upload a file via http to another server. as
you are running webclient on the web server, the server is the client, and it
can only access its own files.

it is unclear what you are trying to do. you have the browser upload a file
to the server, but don't do anything with it. did you forget to save the
browsers uploaded file to disk? are you trying to send it to another server?
-- bruce (sqlwork.com)
"Scott Trick" wrote:
No I'm not confused I probably just didn't explain my problem good enough.

What is happening is that the UploadFile command is looking on the c drive
of the server rather than the c drive of the webclient.

In the command below sPath is supposed to be the path of a file on the web
client and sent to the web server but the command is looking on the server
for sPath???

// Upload the file to the URL using the HTTP 1.0 POST.
byte[] responseArray = myWebClient.UploadFile(sPost, sPath);

"George" wrote:
I think you confusing Upload with Download...
>
Upload - from client to server
Download from server to client.
>
>
George.
>
>
"Scott Trick" <Sc********@discussions.microsoft.comwrote in message
news:71**********************************@microsof t.com...
I followed the instructions from MSDN for Webclient UploadFile and I get an
error: Could not find file 'C:\testfile.xls'.

If I add the file (c:\testfile.xls) to the server I do not get the error
and
the file is copied from the server to the server, rather than from the web
client to the server.

Please help!!!



Here is my code:

--------------Default.aspx---------

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"
Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" method="post" runat=server>
<div>
<asp:FileUpload ID="FileUpload1" runat="server" Style="z-index:
100;
left: 22px;
position: absolute; top: 16px" Width="537px" />
<asp:Button ID="sendfileButton" runat="server"
OnClick="sendfileButton_Click" Style="z-index: 102;
left: 27px; position: absolute; top: 55px" Text="Send File"
Width="90px" />

</div>
</form>
</body>
</html>


--------------- default.aspx.cs ----------------------

protected void sendfileButton_Click(object sender, EventArgs e)
{
String sPath = @"C:\PricingImportTest.xls";
String sPost = "http://webservername/confirm.aspx";

// Create a new WebClient instance.
WebClient myWebClient = new WebClient();


// Upload the file to the URL using the HTTP 1.0 POST.
byte[] responseArray = myWebClient.UploadFile(sPost, sPath);

}


----------- confirm.aspx --------------------------

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Confirm.aspx.cs"
Inherits="Confirm" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" method="post" runat="server">
<div>

</div>
</form>
</body>
</html>


--------- confirm.aspx.cs --------------------------

public partial class Confirm : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
foreach(string f in Request.Files.AllKeys)
{
HttpPostedFile file = Request.Files[f];
file.SaveAs(@"c:\users\tmp\" + file.FileName);
}
}
}

>
>
Oct 31 '08 #6

P: n/a
then instead of calling another webserver, write the uploaded file out to disk.

if (FileUpload1.HasFile)
FileUpload1.SaveAs("filename");

be sure to pick a folder the asp.net process has access to (say app_data).
don't write to the website (except app_data) or you will force a recycle.

-- bruce (sqlwork.com)
"Scott Trick" wrote:
What I am trying to do is allow for users to upload files to our web server.

"bruce barker" wrote:
WebClient allows a program to upload a file via http to another server. as
you are running webclient on the web server, the server is the client, and it
can only access its own files.

it is unclear what you are trying to do. you have the browser upload a file
to the server, but don't do anything with it. did you forget to save the
browsers uploaded file to disk? are you trying to send it to another server?
-- bruce (sqlwork.com)
"Scott Trick" wrote:
No I'm not confused I probably just didn't explain my problem good enough.
>
What is happening is that the UploadFile command is looking on the c drive
of the server rather than the c drive of the webclient.
>
In the command below sPath is supposed to be the path of a file on the web
client and sent to the web server but the command is looking on the server
for sPath???
>
// Upload the file to the URL using the HTTP 1.0 POST.
byte[] responseArray = myWebClient.UploadFile(sPost, sPath);
>
>
>
"George" wrote:
>
I think you confusing Upload with Download...

Upload - from client to server
Download from server to client.


George.


"Scott Trick" <Sc********@discussions.microsoft.comwrote in message
news:71**********************************@microsof t.com...
>I followed the instructions from MSDN for Webclient UploadFile and I get an
error: Could not find file 'C:\testfile.xls'.
>
If I add the file (c:\testfile.xls) to the server I do not get the error
and
the file is copied from the server to the server, rather than from the web
client to the server.
>
Please help!!!
>
>
>
Here is my code:
>
--------------Default.aspx---------
>
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs"
Inherits="_Default" %>
>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" method="post" runat=server>
<div>
<asp:FileUpload ID="FileUpload1" runat="server" Style="z-index:
100;
left: 22px;
position: absolute; top: 16px" Width="537px" />
<asp:Button ID="sendfileButton" runat="server"
OnClick="sendfileButton_Click" Style="z-index: 102;
left: 27px; position: absolute; top: 55px" Text="Send File"
Width="90px" />
>
</div>
</form>
</body>
</html>
>
>
--------------- default.aspx.cs ----------------------
>
protected void sendfileButton_Click(object sender, EventArgs e)
{
String sPath = @"C:\PricingImportTest.xls";
String sPost = "http://webservername/confirm.aspx";
>
// Create a new WebClient instance.
WebClient myWebClient = new WebClient();
>
>
// Upload the file to the URL using the HTTP 1.0 POST.
byte[] responseArray = myWebClient.UploadFile(sPost, sPath);
>
}
>
>
----------- confirm.aspx --------------------------
>
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Confirm.aspx.cs"
Inherits="Confirm" %>
>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" method="post" runat="server">
<div>
>
</div>
</form>
</body>
</html>
>
>
--------- confirm.aspx.cs --------------------------
>
public partial class Confirm : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
foreach(string f in Request.Files.AllKeys)
{
HttpPostedFile file = Request.Files[f];
file.SaveAs(@"c:\users\tmp\" + file.FileName);
}
}
}
>
Oct 31 '08 #7

This discussion thread is closed

Replies have been disabled for this discussion.