II.Universitet mavjud tizimida foydalanuvchi jurnalini tashkil etish
2.1 Web dasturlashda ASP.NET texnologiyasini qo’llash
ASP.NET MVC da fayllarni uzatish.
File Result sinfi mijozga fayllarni uzatadi. Ammo bu sinf abstraktli, aslida bizlar merosxo`rlar bilan ishlaymiz:
FileContentResult: fayldan o`qilgan, baytlar massivini mijozga uzatadi.
File Path Result: faylni to`g`ridan to`g`ri serverdan uzatadi.
File StreamResult: bu sinf oqimni yaratadi – System.IO.Stream ob`yekti orqali faylni o`qib chiqadi va faylni mijozga uzatadi.
Ko`rsatilgan uchta usulda File metodi ishlatiladi, qaysisi File Result ob`yektini qaytaradi. Faqat tanlangan usulga qarab, bu metodning tegishli qayta yuklangan versiyasi ishlatiladi.
Fayl tizimidan faylni uzatish uchun (File Path Result ob`yektni ishlatish), File metodida uchta parametrni ko`rsatamiz:
Server tomonida faylga yo`l, ichidagi narsalar tipi va kutib olgan tomon uchun fayl nomi (fayl nomi zarur emas).
public FileResult GetFile()
{
// Put’ k faylu
string file_path = Server.MapPath("~/Files/PDFIcon.pdf");
// Tip fayla - content-type
string file_type="application/pdf";
// Imya fayla - neobyazatel’no
string file_name = "PDFIcon.pdf";
return File(file_path,file_type,file_name);
}
Loyihadagi FilesPDFIcon.pdf fayli bor. Server MapPath metodi loyihaning ichida katalogdan resursga to`liq yo`lini sozlash imkonini beradi. Absolyut yo`llarni ishlatish ham mumkin, fayl tizimining har qanday fayli murojaat qilib, masalan: string file-path=C “S:\Book\PDFIcon.pdf”. Agar bizlar Home/GetFile yo`li bilan murojaat qilsak, bu faylni lokal kompyuterga saqlashni tavsiya qiladi.
F:EcntentResult sinflari xuddi shunga o`xshash tarzda ishlay dilar, faqat fayl nomi joyida File metodida baytlar massivi ko`rsatiladi, qaysisiga fayl o`qib tushirildi:
// Baytlar massivini jo`natish
public FileResult GetBytes()
{
string path = Server.MapPath("~/Files/PDFIcon.pdf");
byte[] mas = System.IO.File.ReadAllBytes();
string file_type = "application/pdf";
string file_name = "PDFIcon.pdf";
return File(mas, file_type, file_name);
}
Agar bizlar File Stream Result ob`yektini qaytarmoqchi bo`lsak, bunda File metodida, birinchi argument bo`lib Stream ob`yekti ishlatiladi, yuborilayotgan fayl uchun:
// Otpravka potoka
public FileResult GetStream()
{
string path = Server.MapPath("~/Files/PDFIcon.pdf");
// Ob`yekt Stream
FileStream fs = new FileStream(path, FileMode.Open);
string file_type = "application/pdf";
string file_name = "PDFIcon.pdf";
return File(fs, file_type, file_name);
}
|