بررسی Component جاوا اسکریپت در برنامه های Blazor


بررسی Component جاوا اسکریپت

در حال حاضر هیچ قابلیت درون ساخته و یا built-in خاصی برای ذخیره کردن یک فایل در برنامه‌های Blazor وجود ندارد. بنابراین نیاز هست که تابع مورد نظر را به زبان JavaScript بنویسیم و سپس شبیه به وب اپلیکیشن های سنتی آن تابع JavaScript را از درون برنامه Blazor و با استفاده از کد سی شارپ فراخوانی کنیم. برای شروع کار یک فایل به نام SaveFile.js را در فولدر wwwroot ایجاد کنید.

function FileSaveAs(filename, fileContent) {

var link = document.createElement('a');

link.download = filename;

link.href = "data:text/plain;charset=utf-8," + encodeURIComponent(fileContent)

document.body.appendChild(link);

link.click();

document.body.removeChild(link);

}

این فایل حاوی یک تابع JavaScript است که از درون کد سی شارپ فراخوانی خواهد شد. نام این تابع FileSaveAs نام دارد و دو پارامتر ورودی دریافت می کند. پارامتر filename و پارامتر content که محتویات یک سند متنی را خواهد داشت. برای ذخیره کردن انواع مختلفی از فایل ها باید این تابع کمی تغییر کند؛ اما در حال حاضر می تواند به سادگی با فایل های متنی کار کند. حال به سادگی قبل از دستور body در فایل index.html از فولدر wwwroot این فایل را بارگذاری می‌کنیم. این کار توسط دستور script شبیه به قسمت زیر انجام می شود.

<script src="SaveFile.js"></script>

منبع:وبسایت پرووید