ফাইল হ্যান্ডলিং আপনাকে ChromeOS কনফিগার করতে দেয় যাতে আপনার এক্সটেনশন ফাইল মেনুর ওপেন মেনু বা কনটেক্সট মেনুর মেনু দিয়ে ওপেন ব্যবহার করে ফাইল খুলতে পারে। একবার খোলা হলে, আপনি ওয়েব প্ল্যাটফর্মের লঞ্চ হ্যান্ডলার API ব্যবহার করে ফাইলের ডেটা প্রক্রিয়া করেন। তারপরে আপনি ফাইলটি প্রদর্শন বা পরিচালনা করতে স্ট্যান্ডার্ড ওয়েব প্ল্যাটফর্ম API ব্যবহার করবেন।
এক্সটেনশনে উপলব্ধতা
ChromeOS 120 বা তার পরে।
অনুমতি
ফাইল পরিচালনার জন্য কোন অনুমতির প্রয়োজন নেই।
উদ্ভাসিত
আপনাকে manifest.json ফাইলে "file_handlers"
অ্যারে যোগ করতে হবে।
সাপোর্টিং প্রসঙ্গ
এই API এক্সটেনশন পরিষেবা কর্মী, পপআপ, পার্শ্ব প্যানেল, বা বিষয়বস্তু স্ক্রিপ্ট ব্যবহার করা যেতে পারে.
একটি ফাইল হ্যান্ডলার কনফিগার করুন
"file_handlers"
-এর প্রতিটি সদস্য - যার অর্থ প্রতিটি ফাইল হ্যান্ডলার - একটি নির্দিষ্ট এক্সটেনশন পৃষ্ঠা দ্বারা পরিচালনা করা ফাইলের ধরন বা প্রকারগুলি নির্দিষ্ট করে৷
আপনার নির্দিষ্ট করা হ্যান্ডলারগুলিকে ChromeOS ফাইল উইন্ডোতে যোগ করা হবে, বিশেষভাবে মেনু সহ ওপেন করুন। সেগুলি শুধুমাত্র এই মেনুতে উপস্থিত হবে যখন ব্যবহারকারী নির্দিষ্ট এক্সটেনশন সহ একটি ফাইল নির্বাচন করেন৷ উদাহরণ স্বরূপ, যদি কোনো ফাইল হ্যান্ডলার .txt
নির্দিষ্ট করে তাহলে ChromeOS মেনু শুধুমাত্র সেই হ্যান্ডলারটিকে দেখায় যখন সেই এক্সটেনশন সহ একটি ফাইল নির্বাচন করা হয়।
একটি ফাইল প্রক্রিয়া করুন
ফাইল হ্যান্ডলার হল আপনার এক্সটেনশনের মধ্যে থাকা একটি HTML ফাইল। যখন ব্যবহারকারী একটি মেনু থেকে আপনার হ্যান্ডলার নির্বাচন করে, তখন HTML ফাইলটি একটি নতুন ট্যাবে খোলে। ফাইলের প্রক্রিয়াকরণ, আপনি এটি প্রদর্শন করুন বা অন্য কোনো উপায়ে ব্যবহার করুন, উপযুক্ত ওয়েব প্ল্যাটফর্ম API ব্যবহার করে জাভাস্ক্রিপ্টের মাধ্যমে সম্পন্ন করা হয়। প্রসেসিং কোড অবশ্যই একটি পৃথক জাভাস্ক্রিপ্ট ফাইলে থাকতে হবে এবং একটি <script>
ট্যাগের মাধ্যমে অন্তর্ভুক্ত থাকতে হবে এবং আপনার এক্সটেনশনেও থাকতে হবে। একটি FileSystemFileHandle
অবজেক্ট পেতে স্ক্রিপ্ট ফাইলটি লঞ্চ হ্যান্ডলার API-এর LaunchQueue
ইন্টারফেস ব্যবহার করে।
উদাহরণ
নিচের উদাহরণটি দেখায় কিভাবে LaunchQueue
ইন্টারফেস ব্যবহার করে একটি FileSystemFileHandle
অবজেক্ট পেতে হয়। ফাইল হ্যান্ডলিং অ্যাকশন দেখতে, ফাইল হ্যান্ডলিং ডেমো ইনস্টল করুন।
if ('launchQueue' in window) {
launchQueue.setConsumer(async launchParams => {
if (!launchParams.files || !launchParams.files.length) { return; }
const fileHandle = launchParams.files[0];
});
}
``````