Terima kasih sudah membaca.
Saya baru mengenal iOS dan saya mencoba mengunggah Gambar dan teks yang digunakan multi-part form encoding
di iOS.
The curl
setara adalah sesuatu seperti ini:curl -F "param1=value1" -F "[email protected]" "http://some.ip.address:5000/upload"
The curl
perintah di atas kembali respon yang benar diharapkanJSON.
Masalah: Saya terus mendapatkan permintaan HTTP 400 yang berarti saya melakukan kesalahan saat membuat Badan HTTP POST.
Apa yang Saya Lakukan: Untuk beberapa referensi, saya mencoba aplikasi Flickr API iOS "Ukuran POST terlalu besar!" dan Tujuan C: Bagaimana cara mengunggah gambar dan teks menggunakan HTTP POST? . Tapi, saya tetap mendapatkan HTTP 400.
Saya mencoba ASIHttpRequest
tetapi memiliki masalah yang berbeda di sana (panggilan balik tidak pernah dipanggil). Tapi, saya tidak menyelidiki lebih lanjut sejak saya mendengar pengembang berhenti mendukung perpustakaan: http://allseeing-i.com/[request_release] ;
Bisakah seseorang membantu saya?
sumber
Jawaban:
Berikut kode dari aplikasi saya untuk memposting gambar ke server web kami:
sumber
Jawaban XJones bekerja seperti pesona.
Tapi dia tidak menyebutkan / mendeklarasikan variabel
_params
,BoundaryConstant
danrequestURL
. Jadi, saya berpikir untuk memposting bagian itu sebagai add-on pada postingannya, sehingga dapat membantu orang lain di masa depan.Seperti yang saya sebutkan sebelumnya, ini bukan jawaban dengan sendirinya, hanya tambahan untuk posting XJones .
sumber
Untuk http gambar posting dan username dan password dikirim melalui metode posting
sumber
Gunakan AFNetworking; Letakkan parameter lain di kamus parameter dan tambahkan data gambar ke data formulir.
sumber
Berikut adalah pustaka kit jaringan saya yang serupa untuk mengunggah file sebagai bentuk multi bagian:
Gunakan delegasi untuk memberi tahu tentang kemajuan pengunggahan.
Gunakan notificationName untuk memberi tahu ketika permintaan telah selesai.
Gunakan antrian untuk menambahkan permintaan ini ke dalam antrian operasi Anda sehingga akan diproses pada waktu yang tepat.
sumber
inilah kode swift yang berfungsi diterjemahkan dari kode yang disediakan oleh @xjones. Terima kasih banyak atas bantuan Anda, sobat. Anda adalah satu-satunya cara yang berhasil bagi saya. Saya menggunakan metode ini untuk mengirim 1 gambar dan parameter lain ke layanan web yang dibuat di asp.net
sumber
Ini adalah versi Swift. Perhatikan bahwa jika Anda tidak ingin mengirim data formulir, tetap penting untuk mengirim batas formulir yang kosong. Flask secara khusus mengharapkan data formulir diikuti oleh data file dan tidak akan terisi
request.files
tanpa batas pertama.sumber
Unggah gambar dengan data formulir menggunakan kelas NSURLConnection di Swift 2.2 :
Catatan: Selalu gunakan
sendAsynchronousRequest
metode alih-alihsendSynchronousRequest
untuk mengunggah / mengunduh data untuk menghindari pemblokiran utas utama. Di sini saya menggunakan sendSynchronousRequest untuk tujuan pengujian saja.sumber
Saya dapat menunjukkan kepada Anda contoh mengunggah file .txt ke server dengan
NSMutableURLRequest
danNSURLSessionUploadTask
dengan bantuan skrip php .php Script
sumber
sumber