C#クライアントアプリとNusoapWebサービスでファイルをアップロードしたい。どうすればこれを行うことができますか?データベースへの挿入にはNusoapWebサービスを使用していますが、ファイルのアップロードにはわかりません。私を助けてください。ありがとう。
質問する
1250 次
1 に答える
2
私はNuSOAPの経験がないので、NuSOAPを使用せずに、PHPを実行しているサーバーにファイルをアップロードするという私の知識を最大限に活用して回答します。
次のコードはPOST
、特定のファイルの内容を、標準のHTMLフォームを介して送信されたかのようにPHPページに送信します。
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です。これは潜在的に安全ではなく、新しいファイルがアップロードされるたびに常に同じファイルを上書きします。セキュリティのためにいくつかのファイルチェックとともに、これに動的性を加えることを試みることができます...しかし、(Webフォームからの)標準的なアップロードを目的とした変更されたPHPファイルを使用することもできるはずです。
<?php
$fp = fopen('snap.jpg', 'wb');
fwrite($fp, file_get_contents('php://input'));
fclose($fp);
?>
于 2012-06-10T23:47:35.323 に答える