ফাইলসিস্টেম এপিআই ডিবাগ করা হচ্ছে

HTML5 ফাইলসিস্টেম একটি শক্তিশালী API। ক্ষমতার সাথে, জটিলতা আসে। জটিলতার সাথে, আরও ডিবাগিং হতাশা আসে। এটি একটি দুর্ভাগ্যজনক সত্য যে Chrome DevTools বর্তমানে Filesystem API-এর জন্য সমর্থন নেই৷ এটি ডিবাগ করা উচিত তার চেয়ে বেশি কঠিন করে তোলে। কঠিন দ্বারা, আমি বলতে চাচ্ছি যে ফাইল সিস্টেমে ফাইলগুলিকে তালিকাভুক্ত/সরানোর জন্য কোড লিখতে হবে।

ফাইলসিস্টেম এপিআই-এর সাথে আমার প্রচেষ্টার সময়, আমি সেই পথে কয়েকটি টিপস তুলে নিয়েছিলাম যা আমি ভেবেছিলাম যে আমি পাস করব। প্রতিটি টিপের নিজস্ব সীমাবদ্ধতা রয়েছে, তবে এইগুলির সংমিশ্রণ ব্যবহার করে আপনি 90% পথ পাবেন। এখানে শীর্ষ 5 আছে:

  1. নিশ্চিত করুন যে আপনি file:// থেকে চলছেন না । এটি একটি লুকোচুরি যা অনেক লোকের দ্বারা বিট পেতে. Chrome file:// এ প্রধান নিরাপত্তা বিধিনিষেধ আরোপ করে। অনেক উন্নত ফাইল API ( BlobBuilder , FileReader , Filesystem API,...) ত্রুটি ফেলে দেয় বা নীরবে ব্যর্থ হয় যদি আপনি file:// থেকে স্থানীয়ভাবে অ্যাপটি চালান। যদি আপনার কাছে কোনো ওয়েব সার্ভার সহজে না থাকে, তাহলে এই নিরাপত্তা সীমাবদ্ধতাকে বাইপাস করতে ক্রোমকে --allow-file-access-from-files পতাকা দিয়ে শুরু করা যেতে পারে। শুধুমাত্র পরীক্ষার উদ্দেশ্যে এই পতাকা ব্যবহার করুন.

  2. ভয়ঙ্কর SECURITY_ERR বা QUOTA_EXCEEDED_ERR । ডেটা লেখার চেষ্টা করার সময় এটি সাধারণত ঘটে তবে আপনি #1 এর প্রভাবের অধীনে রয়েছেন। যদি তা না হয়, তবে সম্ভবত আপনার কোটা নেই। দুটি ধরনের কোটা আছে যা দিয়ে ফাইল সিস্টেম খোলা যায়, TEMPORARY বা PERSISTENT । আপনি যদি পরবর্তীটি ব্যবহার করেন, ব্যবহারকারীকে স্পষ্টভাবে আপনার অ্যাপে স্থায়ী সঞ্চয়স্থান দিতে হবে। কিভাবে এটি করতে এই পোস্ট দেখুন.

  3. filesystem: URL FTW । এটি filesystem: আপনার অ্যাপের মূলের root DirectoryEntry এর URL। ওটার মানে কি? উদাহরণস্বরূপ, যদি আপনার অ্যাপ www.example.com এ থাকে, তাহলে একটি নতুন ট্যাবে filesystem:http://www.example.com/temporary/ খুলুন। Chrome আপনার অ্যাপের উৎস সংরক্ষণ করা ফাইল/ফোল্ডারগুলির একটি শুধুমাত্র-পঠনযোগ্য তালিকা দেখাবে। filesystem: URL, দেখুন https://www.html5rocks.com/en/tutorials/file/filesystem/#toc-filesystemurls

  4. chrome://settings/cookies আপনার বন্ধু । এই পৃষ্ঠাটি আপনাকে উত্সের জন্য সংরক্ষিত ডেটা নিউক করার অনুমতি দেয়। এতে ডাটাবেস স্টোরেজ, অ্যাপক্যাচে, কুকিজ, লোকাল স্টোরেজ এবং ফাইলসিস্টেম এপিআই-এর স্টাফ রয়েছে। যদিও আগে থেকেই সতর্ক থাকুন, এটি একটি সব বা কিছুই নয়। আপনি শুধুমাত্র একটি ফাইল বা ডেটার টুকরা সরাতে পারবেন না।

  5. ত্রুটি কলব্যাক সম্পর্কে ভুলবেন না . ফাইলসিস্টেম এপিআই একটি অ্যাসিঙ্ক্রোনাস বিশ্বে বাস করে (যদি না আপনি ওয়ার্কার্সে সিঙ্ক সংস্করণ ব্যবহার করছেন)। আপনার API কলগুলিতে সর্বদা ত্রুটি কলব্যাক ব্যবহার করুন। এগুলি ঐচ্ছিক, কিন্তু যখন জিনিসগুলি বিস্ফোরিত হবে তখন আপনি নিজেকে অনেক দুঃখ থেকে বাঁচাবেন।