سؤال

وجئت الى هنا من خلال هذا السؤال: إرسال ملف باستخدام وظيفة من برنامج نصي بيثون

وعلى العموم هذا ما أحتاج، بالإضافة إلى بعض إضافية.

وعلاوة على ذلك هناك حاجة للحصول على معلومات إضافية zipfile سوم وPOST_DATA يبدو شيئا من هذا القبيل:

POSTDATA =-----------------------------293432744627532
Content-Disposition: form-data; name="categoryID"

1
-----------------------------293432744627532
Content-Disposition: form-data; name="cID"

-3
-----------------------------293432744627532
Content-Disposition: form-data; name="FileType"

zip
-----------------------------293432744627532
Content-Disposition: form-data; name="name"

Kylie Minogue
-----------------------------293432744627532
Content-Disposition: form-data; name="file1"; filename="At the Beach x8-8283.zip"
Content-Type: application/x-zip-compressed

PK........................

هل هذا ممكن إلى حد ما مع ملصق 0.4 وحدة (وقبل أن تسأل، نعم، أنا إلى حد ما جديدة على بيثون ...)

مع أطيب التحيات، براين K. أندرسون

هل كانت مفيدة؟

المحلول

والمشارك له دعم متعدد الأجزاء الأساسية والمتقدمة.
قد حاولت شيئا من هذا القبيل (معدلة من الوثائق ملصق):

# test_client.py
from poster.encode import multipart_encode
from poster.streaminghttp import register_openers
import urllib2

# Register the streaming http handlers with urllib2
register_openers()

# headers contains the necessary Content-Type and Content-Length
# datagen is a generator object that yields the encoded parameters
datagen, headers = multipart_encode({
    'categoryID' : 1,
    'cID'        : -3,
    'FileType'   : 'zip',
    'name'       : 'Kylie Minogue',
    'file1'      : open('At the Beach x8-8283.zip')
})

# Create the Request object
request = urllib2.Request("http://localhost:5000/upload_data", datagen, headers)

# Actually do the request, and get the response
print urllib2.urlopen(request).read()
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top