কার্ল ব্যবহার করে বেস 64 এনকোডযুক্ত চিত্রটি প্রেরণ করুন


8

আমি কমান্ড লাইন থেকে এটি ব্যবহার করে curlএবং এর base64মতো একটি বেস 64 এনকোডড চিত্র পাঠানোর চেষ্টা করছি :

curl -X POST -H "Content-Type: application/json" -d '{"image" : $( base64 ~/Pictures/1.jpg )}' http://some/url/  

তবে, আমি একটি প্রতিক্রিয়া ফিরে পেয়ে বলেছিলাম $এটি একটি অপ্রত্যাশিত টোকেন। আমি বেস 64 এনকোডযুক্ত চিত্রটি কীভাবে প্রেরণ করব?

উত্তর:


20

@muru সঠিক, তবে আপনি একটি পাঠাবার চেষ্টা করছেন JSON আপনার করুন Base64- ডেটা এনকোডিং কমান্ড-লাইনে খুব বড় হতে পারে এবং আপনার ভালো কিছু পছন্দ করা হতে পারে:

(echo -n '{"image": "'; base64 ~/Pictures/1.jpg; echo '"}') |
curl -H "Content-Type: application/json" -d @-  http://some/url/ 

দ্বারা -X POSTবোঝানো হয় -d


হ্যাঁ, এটি আরও ভাল।
মুরু

হাই মিউহ, আমি যখন পিএইচপি কোড থেকে এই সম্মিলিত কমান্ড লাইনটি চালানোর চেষ্টা করেছি, আমি ব্যর্থ হয়েছি, t html = শেল_এক্সেক ($ স্ট্র)) আমি যদি স্টার্ট কোডটি অনুলিপি করি এবং কমান্ড লাইনে সরাসরি চালিত করি তবে তা ঠিক আছে। তবে শেল_এক্সেক কাজ করেনি, দয়া করে সহায়তা করুন :( আপনাকে অনেক ধন্যবাদ।
নাম

হাহা, আমি বাশ ফাইল তৈরি করেছি, chmod + x সেই ফাইলটি, তারপরে আমার কমান্ডটি ফাইল এবং শেল_এক্সেক চালানোর জন্য লিখুন ('/ sh ফাইল / xxx.sh এর পথ') ;, আমি কবজির মতো কাজ করেছি। ধন্যবাদ।
বায়ো নাম

1
@ বুনোম ঠিক আছে, ভাল সমাধান। আমি পিএইচপি সম্পর্কে খুব বেশি কিছু করি না, এবং প্রথম সংস্করণটি কাজ না করার কোনও স্পষ্ট কারণ আমি দেখতে পাচ্ছি না। ক্লুগুলির জন্য আপনার সার্ভারের ত্রুটি লগ ফাইলটি দেখুন। পিএইচপি জড়িত থাকাকালীন আপনি কোনও নতুন প্রশ্ন শুরু করার চেয়ে ভাল হবেন, আমি মনে করি।
meuh

5

একক উদ্ধৃতিতে বাশ প্রসারিত হয় না। '{"image" : $( base64 ~/Pictures/1.jpg )}'যেমন পাঠানো হয় পরিবর্তে, চেষ্টা করুন:

'{"image" : "'"$( base64 ~/Pictures/1.jpg)"'"}'

(কমান্ড প্রতিস্থাপন করার আগে প্রারম্ভিক উক্তিটি প্রস্থান করুন এবং আবার একটি উদ্ধৃতি খুলুন))


2
আপনার $()অন্যথায় ডাবল-কোট করা দরকার অন্যথায় বেস 64 আউটপুট লাইনগুলি বিভিন্ন কার্ল আর্গুমেন্টে বিভক্ত হবে।
meuh

একাধিক চিত্র ফাইল এবং ডেটা কমান্ড$ curl -d "name=Avatar&username=avatar&password=A1234567&email=avatar@user.com&token=16b185fe421d5017afb11691681906ed" --data-urlencode 'avatar='"$( base64 ~/Pictures/avatar004.jpg)"'' --data-urlencode 'image='"$( base64 ~/Pictures/avatar001.jpg)"'' --data-urlencode 'picture='"$( base64 ~/Pictures/577383.jpg)"'' http://localhost:8000/api/v1/users/register/
মোরেনো
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.