سلام به همگی دوستان، خیلی ممنونم از وقتی که میذارین
من یک http server برروی یک cloud server اجرا کردم، و میخوام از طریق AT CMD و ارسال post http via uart/usb به سرور تصاویری رو ارسال کنم و از طریق یک http client دیگه (مثلا مرورگر گوشی) به سرور متصل بشم و تصاویری که EC200U داره ارسال میکنه رو مشاهده کنم.
کد http سرور به این صورت هست، یک کلاینت برای آپلود تصاویر به سرور متصل میشه و یک کلاینت دیگه برای مشاهده تصاویر ارسال شده به سرور متصل میشود.
کد سرور:
وقتی از طریق کلاینت دیگه(مثلا از طریق کامپیوتر) به روی سرور تصویر آپلود میکنم، مشکلی وجود نداره.
کد کلاینت کامپیوتر برای آپلود تصویر بر روی سرور:
اما وقتی میخوام از طریق post http via uart/usb اینکار رو کنم ارور 400 رو میگیرم. (کادر زرد مشخص شده در تصویر)
AT CMDهای ارسال شده با نرم افزار Qnavigator:
AT+QHTTPCFG=“contextid”,1
AT+QHTTPCFG=“contenttype”,3 // تنطیم برای ارسال تصویر حالت multipart/form-data
AT+QHTTPCFG=“form/data”,“frame”,“image.jpg”,“image/jpeg” // استفاده از اسم frame در post http
AT+QIACT?
AT+QICSGP=1,1,“mcinet”,“”,“”,1
AT+QIACT?
AT+QHTTPURL=39,80
http://“s-e-r-v-e-r-i-p”/upload_frame
AT+QHTTPPOST=14470,80,80 //حجم تصویر ارسالی
//ارسال تصویر از طریق send file Qnavigator
(تکه کد مشخش شده در کادر زرد) چیزی که من فهمیدم مشکل در این قسمت از کد هست، وقتی post http توسط سرور دریافت میشه، قسمت ‘frame’ رو نمیتونه پیدا کنه که بتونه به فایل تصویر رو از هدر دریافتی جددا کنه و این ارور رو برمیگردونه
سعی کردم با کامند AT+QHTTPCFG=“form/data”,“frame”,“image.jpg”,“image/jpeg” این مشکل رو حل کنم ولی باز درست نشد.
چجور میتونم این مشکل رو حل کنم؟ و آیا رویهای که برای ارسال تصویر با http post via uart/usb رفتم صحیح است؟