0

我想用 C# 客户端应用程序和 Nusoap webservice 上传文件。我怎么能这样做?我使用 Nusoap 网络服务插入数据库,但上传文件我不知道。请帮我。谢谢。

4

1 回答 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 回答