我想用 C# 客户端应用程序和 Nusoap webservice 上传文件。我怎么能这样做?我使用 Nusoap 网络服务插入数据库,但上传文件我不知道。请帮我。谢谢。
问问题
1250 次
1 回答
2
由于我对 NuSOAP 没有任何经验,因此我将尽我所知将文件上传到运行 PHP 的服务器,而不使用 NuSOAP。
以下代码将给POST
定文件的内容发送到 PHP 页面,就好像它是通过标准 HTML 表单发送的一样。
public void UploadFile(string path) {
WebClient wc = new WebClient();
wc.Headers.Add("Content-Type", "application/x-www-form-urlencoded");
Int64 numBytes = new FileInfo(path).Length;
FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
Byte[] data = br.ReadBytes(Convert.ToInt32(numBytes));
br.Close();
fs.Close();
wc.UploadData("http://127.0.0.1/upload.php", "POST", data);
}
编辑:这是我不久前用于此的 PHP。它可能不安全,并且每次上传新文件时总是会覆盖相同的文件。为了安全起见,您可以尝试对此进行一些动态性,以及一些文件检查......但您也应该能够使用用于标准上传(来自网络表单)的修改后的 PHP 文件。
<?php
$fp = fopen('snap.jpg', 'wb');
fwrite($fp, file_get_contents('php://input'));
fclose($fp);
?>
于 2012-06-10T23:47:35.323 回答