বিবরণ
ব্যবহারকারীর লোকাল ফাইল সিস্টেমে তৈরি, রিড, নেভিগেট ও রাইট করতে chrome.fileSystem API ব্যবহার করুন। এই API-এর সাহায্যে, Chrome অ্যাপ ব্যবহারকারীর বেছে নেওয়া লোকেশন পড়তে ও লিখতে পারে। যেমন, কোনও টেক্সট এডিটর অ্যাপ, লোকাল ডকুমেন্ট পড়তে ও লিখতে API ব্যবহার করতে পারে। সব ব্যর্থতা chrome.runtime.lastError-এর মাধ্যমে জানানো হয়।
অনুমতি
fileSystemউপলভ্যতা
ধরন
AcceptOption
প্রপার্টি
-
বর্ণনা
স্ট্রিং ঐচ্ছিক
এটি এই বিকল্পের জন্য ঐচ্ছিক টেক্সট বিবরণ। উপস্থিত না থাকলে, একটি বিবরণ অটোমেটিক তৈরি করা হবে; সাধারণত সঠিক এক্সটেনশনের একটি বিস্তারিত তালিকা থাকে (যেমন, "text/html" এক্সটেন্ড হয়ে "*.html, *.htm" হতে পারে)।
-
এক্সটেনশন
string[] ঐচ্ছিক
গ্রহণ করার জন্য এক্সটেনশন, যেমন "jpg", "gif", "crx"।
-
mimeTypes
string[] ঐচ্ছিক
Mime-টাইপ গ্রহণ করতে, যেমন "image/jpeg" বা "audio/*"। mimeTypes বা এক্সটেনশনের মধ্যে অন্তত একটিতে একটি সঠিক এলিমেন্ট থাকতে হবে।
ChooseEntryOptions
প্রপার্টি
-
গ্রহণ করে
AcceptOption[] ঐচ্ছিক
এই ফাইল ওপেনারের জন্য গ্রহণ করার বিকল্পের ঐচ্ছিক তালিকা। প্রতিটি বিকল্প ব্যবহারকারীর কাছে একটি অনন্য গ্রুপ হিসেবে উপস্থাপন করা হবে।
-
acceptsAllTypes
বুলিয়ান ঐচ্ছিক
accepts আর্গুমেন্টে নির্দিষ্ট করা বিকল্প ছাড়াও, সব ধরনের ফাইল গ্রহণ করা হবে কিনা। ডিফল্ট হল সত্য। গ্রহণ করার ফিল্ড সেট করা না থাকলে বা এতে কোনও সঠিক এন্ট্রি না থাকলে, এটি সবসময় ট্রু হিসেবে রিসেট করা হবে।
-
acceptsMultiple
বুলিয়ান ঐচ্ছিক
একাধিক ফাইল গ্রহণ করা হবে কিনা। এটি শুধুমাত্র openFile এবং openWritableFile-এর জন্য কাজ করে। এটি true হিসেবে সেট করা থাকলে, chooseEntry-তে কলব্যাক এন্ট্রির তালিকা সহ কল করা হবে। অন্যথায়, এটি একটি এন্ট্রি সহ কল করা হবে।
-
suggestedName
স্ট্রিং ঐচ্ছিক
সাজেস্ট করা ফাইলের নাম যা ব্যবহারকারীকে সেভ করার জন্য ডিফল্ট নাম হিসেবে দেখানো হবে। এটি ঐচ্ছিক এবং শুধুমাত্র 'saveFile'-এর ক্ষেত্রে প্রযোজ্য।
-
ধরন
ChooseEntryType ঐচ্ছিক
দেখানোর জন্য প্রম্পটের ধরন। ডিফল্ট হল 'openFile'।
ChooseEntryType
Enum
"openFile"
ব্যবহারকারীকে আগে থেকে থাকা ফাইল খুলতে প্রম্পট করে এবং সফল হলে FileEntry ফিরিয়ে দেয়। Chrome 31 থেকে, অ্যাপ্লিকেশনের 'fileSystem'-এর অধীনে 'write' অনুমতি থাকলে FileEntry-তে লেখা যাবে; অন্যথায়, FileEntry শুধুমাত্র পড়া যাবে।
"openWritableFile"
ব্যবহারকারীকে আগে থেকে থাকা ফাইল খুলতে প্রম্পট করে এবং সফল হলে একটি রাইটেবল FileEntry রিটার্ন করে। অ্যাপ্লিকেশনের 'fileSystem'-এর অধীনে 'write' অনুমতি না থাকলে, এই ধরনের কল রানটাইম সমস্যার কারণে ব্যর্থ হবে।
"saveFile"
ব্যবহারকারীকে আগে থেকে থাকা ফাইল বা নতুন ফাইল খোলার জন্য প্রম্পট করে এবং সফল হলে একটি রাইটেবল FileEntry রিটার্ন করে। অ্যাপ্লিকেশনের 'fileSystem'-এর অধীনে 'write' অনুমতি না থাকলে, এই ধরনের কল রানটাইম সমস্যার কারণে ব্যর্থ হবে।
"openDirectory"
ব্যবহারকারীকে ডিরেক্টরি খোলার জন্য প্রম্পট করে এবং সফল হলে DirectoryEntry রিটার্ন করে। অ্যাপ্লিকেশনের 'fileSystem'-এর অধীনে 'directory' অনুমতি না থাকলে, এই ধরনের কল রানটাইম সমস্যার কারণে ব্যর্থ হবে। 'fileSystem'-এর অধীনে অ্যাপ্লিকেশনের 'write' অনুমতি থাকলে, ফেরত আসা DirectoryEntry-তে লেখা যাবে; অন্যথায় এটি শুধু পড়া যাবে। Chrome 31-এ নতুন।
RequestFileSystemOptions
প্রপার্টি
-
volumeId
স্ট্রিং
অনুরোধ করা ভলিউমের আইডি।
-
রাইট করা যাবে
বুলিয়ান ঐচ্ছিক
অনুরোধ করা ফাইল সিস্টেমে লেখা যাবে কিনা। ডিফল্ট হল শুধু পড়া যাবে।
Volume
প্রপার্টি
-
volumeId
স্ট্রিং
-
রাইট করা যাবে
বুলিয়ান
VolumeListChangedEvent
প্রপার্টি
-
খণ্ড
ভলিউম[]
পদ্ধতি
chooseEntry()
chrome.fileSystem.chooseEntry(
options?: ChooseEntryOptions,
callback: function,
): void
ব্যবহারকারীকে ফাইল বা ডিরেক্টরি বেছে নিতে বলুন।
প্যারামিটারগুলি
-
বিকল্প
ChooseEntryOptions ঐচ্ছিক
-
কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(entry?: Entry, fileEntries?: FileEntry[]) => void
-
এন্ট্রি
এন্ট্রি ঐচ্ছিক
-
fileEntries
FileEntry[] ঐচ্ছিক
-
getDisplayPath()
chrome.fileSystem.getDisplayPath(
entry: Entry,
callback?: function,
): Promise<string>
এন্ট্রি অবজেক্টের ডিসপ্লে পাথ পান। ডিসপ্লে পাথ লোকাল ফাইল সিস্টেমে ফাইল বা ডিরেক্টরির সম্পূর্ণ পাথের উপর ভিত্তি করে তৈরি হয়, তবে ডিসপ্লে করার উদ্দেশ্যে আরও সহজে পাঠযোগ্য করে তোলা হতে পারে।
প্যারামিটারগুলি
-
এন্ট্রি
এন্ট্রি
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(displayPath: string) => void
-
displayPath
স্ট্রিং
-
রিটার্ন
-
Promise<string>
Chrome 117+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
getVolumeList()
chrome.fileSystem.getVolumeList(
callback?: function,
): Promise<Volume[] | undefined>
requestFileSystem()-এর জন্য উপলভ্য ভলিউমের তালিকা দেখায়। "fileSystem": {"requestFileSystem"} ম্যানিফেস্টের অনুমতি প্রয়োজন। শুধুমাত্র কিয়স্ক সেশনে চলা কিয়স্ক অ্যাপের জন্য উপলভ্য। কোনও সমস্যা হলে, volumes সংজ্ঞায়িত করা যাবে না এবং chrome.runtime.lastError সেট করা হবে।
প্যারামিটারগুলি
রিটার্ন
-
Promise<Volume[] | undefined>
Chrome 117+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
getWritableEntry()
chrome.fileSystem.getWritableEntry(
entry: Entry,
callback: function,
): void
অন্য Entry থেকে লেখার উপযুক্ত Entry পান। অ্যাপ্লিকেশনের কাছে 'fileSystem'-এর অধীনে 'write' করার অনুমতি না থাকলে, এই কল রানটাইম সমস্যার কারণে ব্যর্থ হবে। এন্ট্রিটি DirectoryEntry হলে, 'fileSystem'-এর অধীনে অ্যাপ্লিকেশনের 'directory' অনুমতি না থাকলে এই কলটি ব্যর্থ হবে।
প্যারামিটারগুলি
-
এন্ট্রি
এন্ট্রি
-
কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(entry: Entry) => void
-
এন্ট্রি
এন্ট্রি
-
isRestorable()
chrome.fileSystem.isRestorable(
id: string,
callback?: function,
): Promise<boolean>
প্রদত্ত আইডি সহ এন্ট্রি ফিরিয়ে আনার অনুমতি অ্যাপের আছে কিনা তা রিটার্ন করে।
প্যারামিটারগুলি
-
id
স্ট্রিং
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(isRestorable: boolean) => void
-
isRestorable
বুলিয়ান
-
রিটার্ন
-
Promise<boolean>
Chrome 117+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
isWritableEntry()
chrome.fileSystem.isWritableEntry(
entry: Entry,
callback?: function,
): Promise<boolean>
এই এন্ট্রি লেখা যাবে কিনা তা দেখায়।
প্যারামিটারগুলি
-
এন্ট্রি
এন্ট্রি
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(isWritable: boolean) => void
-
isWritable
বুলিয়ান
-
রিটার্ন
-
Promise<boolean>
Chrome 117+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
requestFileSystem()
chrome.fileSystem.requestFileSystem(
options: RequestFileSystemOptions,
callback?: function,
): Promise<FileSystem | undefined>
options.volumeId দ্বারা উপস্থাপিত ভলিউমের জন্য ফাইল সিস্টেমে অ্যাক্সেসের অনুরোধ করে। options.writable-এর মান true হিসেবে সেট করা হলে, ফাইল সিস্টেমে লেখা যাবে। অন্যথায়, এটি শুধু পড়া যাবে। writable বিকল্পটির জন্য ম্যানিফেস্টে "fileSystem": {"write"} অনুমতি প্রয়োজন৷ শুধুমাত্র কিয়স্ক সেশনে চলা কিয়স্ক অ্যাপের জন্য উপলভ্য। ম্যানুয়ালি চালু করা কিয়স্ক মোডের জন্য, অ্যাক্টিভ অ্যাপ উইন্ডোর উপরে একটি কনফার্মেশন ডায়ালগ দেখানো হবে। কোনও সমস্যা হলে, fileSystem সংজ্ঞায়িত করা যাবে না এবং chrome.runtime.lastError সেট করা হবে।
প্যারামিটারগুলি
-
বিকল্প
-
কলব্যাক
ফাংশন ঐচ্ছিক
callbackপ্যারামিটারটি দেখতে এইরকম:(fileSystem?: FileSystem) => void
-
fileSystem
FileSystem ঐচ্ছিক
-
রিটার্ন
-
Promise<FileSystem | undefined>
Chrome 117+Manifest V3 এবং তার পরবর্তী ভার্সনের জন্য শুধু প্রমিস কাজ করে, অন্যান্য প্ল্যাটফর্মের ক্ষেত্রে কলব্যাক ব্যবহার করতে হবে।
restoreEntry()
chrome.fileSystem.restoreEntry(
id: string,
callback: function,
): void
ফাইল এন্ট্রি ফিরিয়ে আনা গেলে, উল্লিখিত আইডি সহ ফাইল এন্ট্রি ফিরিয়ে আনে। তা না হলে, এই কল রানটাইম সমস্যার কারণে ব্যর্থ হবে।
প্যারামিটারগুলি
-
id
স্ট্রিং
-
কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(entry: Entry) => void
-
এন্ট্রি
এন্ট্রি
-
retainEntry()
chrome.fileSystem.retainEntry(
entry: Entry,
): string
একটি আইডি রিটার্ন করে যা কোনও নির্দিষ্ট ফাইল এন্ট্রিতে অ্যাক্সেস ফিরে পেতে restoreEntry-তে পাস করা যেতে পারে। সবচেয়ে সম্প্রতি ব্যবহার করা মাত্র ৫০০টি এন্ট্রি রেখে দেওয়া হয়, যেখানে retainEntry এবং restoreEntry-তে করা কল ব্যবহার হিসেবে গণনা করা হয়। অ্যাপের 'fileSystem'-এর অধীনে 'retainEntries' অনুমতি থাকলে, এন্ট্রি অনির্দিষ্টকালের জন্য রেখে দেওয়া হয়। অন্যথায়, অ্যাপ চলাকালীন এবং রিস্টার্ট করার সময় এন্ট্রিগুলি রাখা হয়।
প্যারামিটারগুলি
-
এন্ট্রি
এন্ট্রি
রিটার্ন
-
স্ট্রিং
ইভেন্ট
onVolumeListChanged
chrome.fileSystem.onVolumeListChanged.addListener(
callback: function,
)
উপলভ্য ভলিউমের তালিকা পরিবর্তন করা হলে কল করা হয়।
প্যারামিটারগুলি
-
কলব্যাক
ফাংশন
callbackপ্যারামিটারটি দেখতে এইরকম:(event: VolumeListChangedEvent) => void
-
ইভেন্ট
-