0

私は最近、最初のC#アプリケーションに取り組んでおり、インターフェイスの作業を終了しました。これは完璧です。

ここで、 [ファイルを開く]ダイアログが表示され、そのファイルをローカルホスト(wamp)にあるPHPスクリプトに送信する部分で立ち往生しています。

これは私がやろうとしてきたことです:

        private void menu_upload_file_Click(object sender, EventArgs e)
        {
            DialogResult dialogOpened = openFileDialog1.ShowDialog();
            if (dialogOpened == DialogResult.OK)
            {
                string filename = openFileDialog1.FileName;

                using (var client = new WebClient())
                {
                    client.UploadFile("http://dugi/imgitv3/upload.php?submit=true&action=upload", "POST", filename);
                }
            }
        }

何も起こらず、ファイルは目的の場所に送信(コピー)されていません。

[ファイルを開く]ダイアログを開くことに成功していることは理解できますが、ファイル名/ディレクトリを取得してWebサイトに送信し、処理できるようにするかどうかはわかりません。

たぶんURLは複雑ですか?これらの送信パラメータとアクションパラメータを送信する必要があります。そうしないと、スクリプトが読み込まれません。

OH AND: PHPでは、$_FILES配列には( )という名前を付ける必要があります。これが問題なのかもしれません。(ここで尋ねている間、これについて考えました)。images$_FILES['images']

では、ファイルが私のWebサイトに送信されないという問題は何ですか?

4

2 に答える 2

2

client.UploadFile("http://dugi/imgitv3/upload.php?submit=true&action=upload", "POST", filename);が例外をスローしていないと仮定して、応答を確認してみてください。

var response = client.UploadFile("http://dugi/imgitv3/upload.php?submit=true&action=upload",  "POST", filename);

Console.WriteLine("\nResponse Received.The contents of the file uploaded are:\n{0}",
                System.Text.Encoding.ASCII.GetString(response));
于 2013-02-05T20:31:51.877 に答える
1

問題は私のPHPスクリプトにありました。私はいつもそこを探していましたが、他には$_FILES['images']何もありませんでした。それからいくつかのグーグルの後、私はC#がfile$_FILES['file'])という名前のファイル配列を送信することに気づきました。

PHPスクリプトに必要な変更を加えたところ、すべてが機能しています。

于 2013-02-07T17:29:49.927 に答える