Elm:
একটি অস্থায়ী ফাইল তৈরি করা
কিভাবে:
Elm ব্রাউজারে চালানো হয়, তাই এটির সরাসরি ফাইলসিস্টেমে অ্যাক্সেস নেই। তাই, আপনি পারম্পরিক অস্থায়ী ফাইল তৈরি করতে পারবেন না। কিন্তু, যদি আপনার এরকম একটা বৈশিষ্ট্যের প্রয়োজন হয়, আমরা Elm পোর্টস ব্যবহার করে JavaScript এর সাথে ইন্টার্যাক্ট করি, যা অস্থায়ী ফাইল তৈরি করতে পারে।
port module Main exposing (..)
-- JavaScript এ একটি অস্থায়ী ফাইল তৈরির জন্য একটি পোর্ট নির্ধারণ করুন
port createTempFile : String -> Cmd msg
--একটি অস্থায়ী ফাইল তৈরি করার জন্য ডেটা JavaScript এ পাঠান
saveDataTemporarily : String -> Cmd msg
saveDataTemporarily data =
createTempFile data
JavaScript অংশের জন্য, File API ব্যবহার করে:
app.ports.createTempFile.subscribe(function(data) {
var blob = new Blob([data], {type: 'text/plain'});
var url = URL.createObjectURL(blob);
// এখানে আপনি ইউআরএল ব্যবহার করে ব্লব ডাউনলোড করতে বা আপনার অ্যাপের অন্যান্য অংশকে পাস করতে পারেন
console.log(url); // এটি অস্থায়ী ফাইলের URL লগ করে
});
JavaScript কনসোলে নমুনা আউটপুট:
blob:null/2135a9b7-1aad-4e7a-8bce-19c4f3f6d7ff
গভীর নজর
Elm নিরাপদ এবং বিশ্বস্ত হতে সক্ষম হওয়ার জন্য নকশা করা হয়েছে, তাই সরাসরি ফাইল সিস্টেম অ্যাক্সেস নেই। পরিবর্তে, Elm পোর্টস ব্যবহার করে JavaScript এর সাথে যোগাযোগ করে, যা অস্থায়ী ফাইল তৈরির মতো অপারেশনগুলির জন্য অনুমতি দেয়। ঐতিহাসিকভাবে, আমরা ব্রাউজারে ফাইল-ভিত্তিক কাজগুলি JavaScript APIs ব্যবহার করে হ্যান্ডেল করে থাকি, টাইপ-সেইফ, উচ্চ-স্তরের যুক্তির জন্য Elm ব্যবহার করে।
ভবিষ্যতে, WebAssembly এর মতো বিকল্পগুলি হয়তো ভবিষ্যতে আরও সরাসরি ফাইলসিস্টেম ইন্টার্যাকশন অনুমতি দেবে, কিন্তু এখন, JavaScript এর সাথে ইন্টারঅপের প্রথা মেনে চলা হয়।
বাস্তবায়নের দিক দিয়ে দেখলে, ব্রাউজারের প্রেক্ষাপটে অস্থায়ী ফাইল তৈরি মানে ফাইলসিস্টেমে আসল ফাইল নয়, বরং একটি ইন-মেমোরি প্রতিনিধিত্ব (ব্লব) যা আপনি প্রয়োজন মতো কাজে লাগাতে এবং সংরক্ষণ করতে পারেন।