469,269 Members | 1,006 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,269 developers. It's quick & easy.

Uploading file to a different web platform using ASP.NET/VB.NET

Hi,
I've been trying to upload file using webclient.uploadfile method
from my IIS webserver to an Apache webserver without any success. On
the Apache server (server that receives the incoming file) I have a
simple php script, getFile.php to receive the file. The script look
like this:

<?php
$uploadDir = '/var/www/Incoming/';
$uploadFile = $uploadDir . $_FILES['userfile']['name'];
print "<pre>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadFile))
{
print "File is valid, and was successfully uploaded. ";
print "Here's some more debugging info:\n";
print_r($_FILES);
}
else
{
print "Error receiving file:\n";
print_r($_FILES);
}
print "</pre>";
?>

I know this script work perfectly if I use a standard html with <input
type="file"> method. However, file needs to be sent from an
asp.net page instead of html. People on the newsgroup have been
suggesting me to use webclient.uploadfile method, however, I just could
not get it to work.

Perhaps there is something wrong with my php script or maybe there
something else needs to be done to the webclient. If anybody has came
across with the similar situation, can you show me how to do it both on
the ASP.NET side and php side (or perl)
Thanks
Brian

Jul 21 '05 #1
4 1917
This aspect of the question would best be suited in a php
newsgroup/community. If you have related ASP.NET code using the
UploadFile method then you can post that here.

Jul 21 '05 #2
It might be a php and ASP.NET question and that's why I have it posted
here.

In my asp.net form I have

wc as new webclient
wc.uploadfile("http://sample.com/getFile.php", "POST",
"c:\temp\text.txt") and I also tried
wc.uploadfile("http://sample.com/getFile.php", "c:\temp\text.txt"),
non of them returned any error, however the file never get uploaded.

thanks
Brian

Jul 21 '05 #3
i haven't tested (use an network sniff or create a dump page), but suspect
the name is not correct. the standard format is

-----------------------------7d01ecf406a6
Content-Disposition: form-data; name="myfile";
filename="C:\Inetpub\wwwroot\Upload\myFile.txt"
Content-Type: text/plain

this is some test data

-----------------------------7d01ecf406a6

name equals the the name of the input file control in the html version

<input type=file name="myfile>

filename is the name of the file selected.

as the webclient control does not allow to to specify the formdata name, it
is either leaving it out or making one up. but your php script probably
requies it.

-- bruce (sqlwork.com)
<br********@gmail.com> wrote in message
news:11**********************@z14g2000cwz.googlegr oups.com...
| Hi,
| I've been trying to upload file using webclient.uploadfile method
| from my IIS webserver to an Apache webserver without any success. On
| the Apache server (server that receives the incoming file) I have a
| simple php script, getFile.php to receive the file. The script look
| like this:
|
| <?php
| $uploadDir = '/var/www/Incoming/';
| $uploadFile = $uploadDir . $_FILES['userfile']['name'];
| print "<pre>";
| if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadFile))
| {
| print "File is valid, and was successfully uploaded. ";
| print "Here's some more debugging info:\n";
| print_r($_FILES);
| }
| else
| {
| print "Error receiving file:\n";
| print_r($_FILES);
| }
| print "</pre>";
| ?>
|
| I know this script work perfectly if I use a standard html with <input
| type="file"> method. However, file needs to be sent from an
| asp.net page instead of html. People on the newsgroup have been
| suggesting me to use webclient.uploadfile method, however, I just could
| not get it to work.
|
| Perhaps there is something wrong with my php script or maybe there
| something else needs to be done to the webclient. If anybody has came
| across with the similar situation, can you show me how to do it both on
| the ASP.NET side and php side (or perl)
|
|
| Thanks
| Brian
|
Jul 21 '05 #4
br********@gmail.com wrote:
Hi,
I've been trying to upload file using webclient.uploadfile method
from my IIS webserver to an Apache webserver without any success. On
the Apache server (server that receives the incoming file) I have a
simple php script, getFile.php to receive the file. The script look
like this:

<?php
$uploadDir = '/var/www/Incoming/';
$uploadFile = $uploadDir . $_FILES['userfile']['name'];
print "<pre>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadFile))
{
print "File is valid, and was successfully uploaded. ";
print "Here's some more debugging info:\n";
print_r($_FILES);
}
else
{
print "Error receiving file:\n";
print_r($_FILES);
}
print "</pre>";
?>

I know this script work perfectly if I use a standard html with <input
type="file"> method. However, file needs to be sent from an
asp.net page instead of html. People on the newsgroup have been
suggesting me to use webclient.uploadfile method, however, I just
could not get it to work.

Perhaps there is something wrong with my php script or maybe there
something else needs to be done to the webclient. If anybody has came
across with the similar situation, can you show me how to do it both
on the ASP.NET side and php side (or perl)


This is a bug in WebClient.UploadFile() that exists since .NET 1.0. It
does not create a syntactically correct multipart/form-data request.
You'll have to use WebRequest instead and build your own
multipart/form-data request.

Cheers,

--
http://www.joergjooss.de
mailto:ne********@joergjooss.de
Jul 21 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

5 posts views Thread by Kevin Ollivier | last post: by
7 posts views Thread by John Machin | last post: by
5 posts views Thread by Chris | last post: by
reply views Thread by zhoujie | last post: by
reply views Thread by suresh191 | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.