ব্রাউজারে ফাইলগুলির সাথে কাজ করার জন্য API উন্নতি

FileSystemSyncAccessHandle এবং FileSystemWritableFileStream-এর জন্য একচেটিয়া লেখকের জন্য একাধিক পাঠক এবং লেখকদের জন্য সমর্থন।

FileSystemSyncAccessHandle-এর জন্য একাধিক পাঠক এবং লেখক

অরিজিন প্রাইভেট ফাইল সিস্টেম (কখনও কখনও বাকেট ফাইল সিস্টেম হিসাবেও উল্লেখ করা হয়) ডেভেলপারদের এমন ফাইলগুলি অ্যাক্সেস করতে দেয় যা সর্বাধিক পড়া এবং লেখার কার্যকারিতার জন্য অপ্টিমাইজ করা হয়। এটি FileSystemSyncAccessHandle অবজেক্টের মাধ্যমে ঘটে। বর্তমানে, একই ফাইল এন্ট্রির জন্য একাধিক FileSystemSyncAccessHandle অবজেক্ট খোলার চেষ্টা করা NoModificationAllowedError এর সাথে ব্যর্থ হয়। যেহেতু ব্যবহারের ক্ষেত্রে এই সীমাবদ্ধতা সীমিত করছে, তাই Chrome 121 নিম্নলিখিত অনুমোদিত স্ট্রিং মানগুলির সাথে FileSystemFileHandle.createSyncAccessHandle() পদ্ধতির জন্য একটি নতুন mode প্যারামিটার প্রবর্তন করেছে:

  • "readwrite" : এটি বর্তমান ডিফল্ট। একবার খোলা হলে, FileSystemSyncAccessHandle এ যেকোন পদ্ধতি অনুমোদিত। FileSystemSyncAccessHandle এর শুধুমাত্র একটি উদাহরণ অনুমোদিত।
  • "read-only" : একাধিক পাঠককে অনুমতি দেয়। একবার খোলা হলে, FileSystemSyncAccessHandle এ শুধুমাত্র পঠন-মত পদ্ধতিগুলি অনুমোদিত: read() , getSize() , এবং close()FileSystemSyncAccessHandle এর একাধিক দৃষ্টান্ত তৈরি করা হতে পারে যতক্ষণ না সেগুলি শুধুমাত্র-পঠন মোডে থাকে।
  • "readwrite-unsafe" : একাধিক লেখককে অনুমতি দেয়। একবার খোলা হলে, FileSystemSyncAccessHandle এ যেকোন পদ্ধতি অনুমোদিত। FileSystemSyncAccessHandle এর একাধিক দৃষ্টান্ত তৈরি করা হতে পারে যতক্ষণ না তাদের সবগুলোই রিডরাইট-অনিরাপদ মোডে থাকে।

বর্তমান আচরণ "readwrite" বিকল্পটিকে ডিফল্ট হিসাবে রেখে সংরক্ষণ করা হয়, যা একবারে শুধুমাত্র একটি উদাহরণের অনুমতি দেয়। যদি একটি সাইটকে একাধিক FileSystemSyncAccessHandle অবজেক্ট খুলতে হয় কিন্তু লেখাগুলি সম্পাদন করার প্রয়োজন না হয়, তাহলে "read-only" বিকল্পটি ব্যবহার করা উচিত। অবশেষে, শেষ বিকল্প "readwrite-unsafe" একাধিক দৃষ্টান্তের পাশাপাশি পড়তে এবং লিখতে উভয়কেই অনুমতি দেয়। এই ক্ষেত্রে, একাধিক ট্যাব থেকে সঞ্চালিত হলে লেখাগুলি রসালো হতে পারে এবং সাইটগুলিকে তাদের নিজস্ব লকিং স্কিম প্রদান করতে হবে।

const handle1 = await handle.createSyncAccessHandle({mode: 'readwrite-unsafe'});
// This will succeed:
const handle2 = await handle.createSyncAccessHandle({mode: 'readwrite-unsafe'});

FileSystemWritableFileStream এর জন্য একচেটিয়া লেখক

FileSystemSyncAccessHandle এর বিপরীতে, আজ প্রতি ফাইল এন্ট্রিতে FileSystemWritableFileStream এর একাধিক উদাহরণ তৈরি করা যেতে পারে। কি অনুপস্থিত একটি একচেটিয়া লেখক জন্য একটি বিকল্প প্রদান করার একটি উপায়. Chrome 121 FileSystemAccessFileHandle.createWritable() পদ্ধতিতে একটি ঐচ্ছিক mode প্যারামিটার যোগ করে যার নিম্নলিখিত মান রয়েছে:

  • "exclusive" মোড: এক সময়ে শুধুমাত্র একজন লেখক থাকতে পারে।
  • "siloed" মোড: এটি বর্তমান ডিফল্ট। প্রতিটি তৈরি লেখকের নিজস্ব সোয়াপ ফাইল থাকবে।
const writable1 = await handle.createWritable({mode: 'exclusive'});
// This will fail:
const writable2 = await handle.createWritable();

ব্রাউজার সমর্থন

উভয় বৈশিষ্ট্য, FileSystemSyncAccessHandle এর জন্য একাধিক পাঠক এবং লেখক এবং FileSystemWritableFileStream এর জন্য একচেটিয়া লেখক, Chrome 121-এ সমর্থিত।

ডেভ ট্রায়ালে প্রবেশ করুন

Chrome 121 লঞ্চ হওয়ার আগে বৈশিষ্ট্যটি পরীক্ষা করার জন্য ডেভ ট্রায়ালে প্রবেশ করতে, chrome://flags#file-system-access-locking-scheme পতাকা সেট করুন সক্ষম করুন ৷ এটি আপনাকে আপনার মেশিনে স্থানীয়ভাবে বৈশিষ্ট্যটি পরীক্ষা করার অনুমতি দেবে।

স্বীকৃতি

এই নিবন্ধটি Daseul Lee , Nathan Memmott , এবং Rachel Andrew দ্বারা পর্যালোচনা করা হয়েছে।