Bagaimana saya bisa menggunakan python untuk mengirim data (gambar) ke ImageBam.com

Saya telah membaca banyak tentang multipart/formulir, mekanisasi, dan twill, tetapi saya tidak dapat menemukan cara mengimplementasikan kode.

Menggunakan MultipartPostHandler untuk POST data formulir dengan Python

Pertama saya mencoba mengisi formulir

www.imagebam.com/basic-upload

Saya dapat mengisi formulir tetapi tidak dapat mengirim data meskipun saya mengirimkannya ().

setelah melihat kode sumber pada halaman di atas, saya menyadari yang perlu saya lakukan hanyalah "memposting" data dengan tipe konten yang benar ke halaman (mohon koreksi jika saya salah)

http://www.imagebam.com/sys/upload/save

secara langsung..

Saya mencoba menggunakan poster.py, tetapi tidak mengerti cara kerjanya. Saya bisa menggunakan mekanisasi dan twill sedikit, tapi saya buntu karena ini lebih kompleks daripada pengeposan formulir sederhana, menurut saya.

Jadi pertanyaan saya;

-Bagaimana cara menggunakan poster.py (atau kelas multipartform yang dibuat pengguna) untuk mengunggah gambar ke imagebam.com

-atau solusi alternatif lainnya :)


person gokcennurlu    schedule 14.01.2012    source sumber


Jawaban (3)


Jangan bergantung sepenuhnya pada perpustakaan pihak ketiga seperti mekanisasi. Implementasikan api resminya dengan python API ImageBam atau lihat proyek ini dikembangkan di pyqt4 pymguploader untuk mengunggah gambar dan kemudian mencoba menerapkannya sendiri.

person RanRag    schedule 14.01.2012
comment
terima kasih atas komentarnya :) Saya menemukan imageban api sulit dimengerti karena saya tidak tahu apa-apa tentang hal-hal oatuh. Saya memecahkan masalah dengan menggunakan poster.py :) - person gokcennurlu; 14.01.2012

Mekanisasi bukanlah alat yang tepat untuk tugas tersebut.

Menerapkan http://code.google.com/p/imagebam-api/ di python jauh lebih kuat.

Contohnya ada di PHP/curl, mengubahnya menjadi python/urllib2 seharusnya mudah.

person Paulo Scardine    schedule 14.01.2012
comment
terima kasih atas komentarnya :) Saya menyelesaikannya dengan menggunakan stackoverflow.com/questions/6850239/ modul poster :) - person gokcennurlu; 14.01.2012

Ya! Saya melakukannya. Saya menggunakan pertanyaan ini.

Ini kodenya:

>>> from poster.encode import multipart_encode
>>> from poster.streaminghttp import register_openers
>>> import urllib2
>>> register_openers()
<urllib2.OpenerDirector instance at 0x02CDD828>
>>> datagen, headers = multipart_encode({"file[]": open("D:\hedef\myfile.jpg","rb"),"content_type":"1","thumb_size":"350"})
>>> request = urllib2.Request("http://www.imagebam.com/sys/upload/save", datagen, headers)
>>> print urllib2.urlopen(request).read()

Sekarang yang perlu saya lakukan hanyalah menggunakan BeautifulSoup untuk menyempurnakan kode thumbnail :)

person gokcennurlu    schedule 14.01.2012