Saya telah mencari dan membaca sekitar itu dan tidak dapat menemukan sesuatu yang benar-benar berguna.
Saya sedang menulis aplikasi C # win kecil yang memungkinkan pengguna mengirim file ke server web, bukan dengan FTP, tetapi dengan HTTP menggunakan POST. Anggap saja seperti formulir web tetapi berjalan pada aplikasi windows.
Saya memiliki objek HttpWebRequest saya yang dibuat menggunakan sesuatu seperti ini
HttpWebRequest req = WebRequest.Create(uri) as HttpWebRequest
dan juga mengatur properti Method
, ContentType
dan ContentLength
. Tapi sejauh itu aku bisa pergi.
Ini adalah potongan kode saya:
HttpWebRequest req = WebRequest.Create(uri) as HttpWebRequest;
req.KeepAlive = false;
req.Method = "POST";
req.Credentials = new NetworkCredential(user.UserName, user.UserPassword);
req.PreAuthenticate = true;
req.ContentType = file.ContentType;
req.ContentLength = file.Length;
HttpWebResponse response = null;
try
{
response = req.GetResponse() as HttpWebResponse;
}
catch (Exception e)
{
}
Jadi pertanyaan saya pada dasarnya adalah bagaimana saya bisa mengirim fie (file teks, gambar, audio, dll) dengan C # melalui HTTP POST.
Terima kasih!
c#
http
post
system.net
gabitoju.dll
sumber
sumber
Jawaban:
Menggunakan .NET 4.5 (atau .NET 4.0 dengan menambahkan paket Microsoft.Net.Http dari NuGet) ada cara yang lebih mudah untuk mensimulasikan permintaan formulir. Berikut ini contohnya:
sumber
form.Add
adalah opsional dan hanya berguna untuk file.Untuk mengirim file mentah saja :
Jika Anda ingin meniru formulir browser dengan
<input type="file"/>
, maka itu lebih sulit. Lihat jawaban ini untuk jawaban yang multipart / form-data.sumber
http://www.testproject.com/SavedFiles
- perhatikan//
Bagi saya
client.UploadFile
masih membungkus konten dalam permintaan multi bagian jadi saya harus melakukannya seperti ini:sumber
Saya mendapat masalah yang sama dan kode berikut ini menjawab dengan sempurna untuk masalah ini:
sumber
Anda perlu menulis file Anda ke aliran permintaan:
sumber
Untuk memposting file sebagai dari array byte:
sumber
sumber
Menggunakan .NET 4.5 mencoba melakukan unggahan file bentuk POST. Mencoba sebagian besar metode di atas tetapi tidak berhasil. Temukan solusinya di sini https://www.c-sharpcorner.com/article/upload-any-file-using-http-post-multipart-form-data
Tetapi saya tidak tertarik karena saya tidak mengerti mengapa kita masih perlu berurusan dengan pemrograman tingkat rendah seperti itu dalam penggunaan umum ini (harus ditangani dengan baik oleh kerangka kerja)
sumber