টিএল; ডিআর;
কোনও চিত্র আপলোড করার আগে সরাসরি ব্রাউজারের পাশে (বেশিরভাগ জেপিইগ, পিএনজি এবং জিআইএফ) সংকুচিত করার কোনও উপায় আছে? আমি নিশ্চিত যে জাভাস্ক্রিপ্ট এটি করতে পারে তবে আমি এটি অর্জনের কোনও উপায় খুঁজে পাচ্ছি না।
আমি বাস্তবায়ন করতে চাই পুরো দৃশ্যের এখানে:
- ব্যবহারকারী আমার ওয়েবসাইটে যান, এবং একটি
input type="file"
উপাদান মাধ্যমে একটি চিত্র চয়ন করুন , - এই চিত্রটি জাভাস্ক্রিপ্টের মাধ্যমে পুনরুদ্ধার করা হয়েছে, আমরা কিছু যাচাই করি যেমন সঠিক ফাইল ফর্ম্যাট, সর্বোচ্চ ফাইলের আকার ইত্যাদি,
- যদি প্রতিটি জিনিস ঠিক থাকে, তবে চিত্রটির পূর্বরূপ পৃষ্ঠায় প্রদর্শিত হবে,
- ব্যবহারকারী কিছু প্রাথমিক কাজ করতে পারে যেমন 90 ° / -90 by দ্বারা চিত্রটি ঘোরানো, প্রাক-সংজ্ঞায়িত অনুপাতের পরে এটি ক্রপ করুন বা ব্যবহারকারী অন্য চিত্র আপলোড করতে এবং পদক্ষেপ 1 এ ফিরে যেতে পারে,
- যখন ব্যবহারকারী সন্তুষ্ট হন, সম্পাদিত চিত্রটি তখন সংকুচিত হয়ে স্থানীয়ভাবে "সংরক্ষণ করা হয়" (কোনও ফাইলে সংরক্ষণ করা যায় নি, তবে ব্রাউজারের মেমরি / পৃষ্ঠায়), -
- নাম, বয়স ইত্যাদির মতো ডেটা সহ ব্যবহারকারী একটি ফর্ম পূরণ করুন
- ব্যবহারকারী "সমাপ্তি" বোতামটিতে ক্লিক করেন, তারপরে ডেটা + সংক্ষেপিত চিত্রযুক্ত ফর্মটি সার্ভারে প্রেরণ করা হয় (এজেএক্স ছাড়াই),
শেষ ধাপ পর্যন্ত সম্পূর্ণ প্রক্রিয়াটি ক্লায়েন্টের পক্ষে করা উচিত এবং এটি সর্বশেষতম ক্রোম এবং ফায়ারফক্স, সাফারি 5+ এবং আই 8+ এর সাথে সামঞ্জস্যপূর্ণ হওয়া উচিত । যদি সম্ভব হয় তবে কেবল জাভাস্ক্রিপ্ট ব্যবহার করা উচিত (তবে আমি নিশ্চিত যে এটি সম্ভব নয়)।
আমি এখনই কিছু কোড করি নি, তবে আমি ইতিমধ্যে এটি সম্পর্কে চিন্তা করেছি। ফাইল এপিআইয়ের মাধ্যমে স্থানীয়ভাবে ফাইল রিডিং সম্ভব , চিত্রের পূর্বরূপ এবং সম্পাদনা ক্যানভাস উপাদান ব্যবহার করে করা যেতে পারে তবে আমি চিত্রের সংকোচনের অংশটি করার কোনও উপায় খুঁজে পাচ্ছি না ।
এইচটিএমএল 5 প্লিজ ডটকম এবং ক্যানিউজ ডটকমের মতে , এই ব্রাউজারগুলিকে সমর্থন করা বেশ শক্ত (IE এর জন্য ধন্যবাদ) তবে এটি ফ্ল্যাশক্যানভাস এবং ফাইলরেডার হিসাবে পলিফিল ব্যবহার করে করা যেতে পারে ।
আসলে, লক্ষ্যটি ফাইলের আকার হ্রাস করা, তাই আমি সমাধান হিসাবে চিত্রের সংকোচনের বিষয়টি দেখি। তবে, আমি জানি যে আপলোড করা চিত্রগুলি আমার ওয়েবসাইটে প্রতিবার একই স্থানে প্রদর্শিত হতে চলেছে এবং আমি এই প্রদর্শন ক্ষেত্রটির মাত্রা জানি (যেমন 200x400)। সুতরাং, আমি এই মাত্রাগুলি ফিট করার জন্য চিত্রটির আকার পরিবর্তন করতে পারি, ফলে ফাইলের আকার হ্রাস করা যায়। এই কৌশলটির জন্য সংকোচনের অনুপাত কী হবে তা আমার কোনও ধারণা নেই।
আপনি কি মনে করেন ? আমাকে বলতে কোন পরামর্শ আছে? জাভাস্ক্রিপ্টে কোনও চিত্র ব্রাউজার-পাশ সংকুচিত করার কোনও উপায় কি আপনি জানেন? আপনার জবাবের জন্য ধন্যবাদ।