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

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

P: n/a
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

Nov 16 '05 #1
Share this Question
Share on Google+
4 Replies


P: n/a
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.

Nov 16 '05 #2

P: n/a
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

Nov 16 '05 #3

P: n/a
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
|
Nov 16 '05 #4

P: n/a
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
Nov 16 '05 #5

This discussion thread is closed

Replies have been disabled for this discussion.