↓ التخطى الى المحتوى الأساسى
  1. مقالات/

فتح ملفات zip في واجهة ويندوز 8 الحديثة (مترو)

·
Rubén Infante Docio
الناشر
Rubén Infante Docio
مهندس برمجيات

اليوم سنرى كيف نفتح ملف جافاسكريبت باستخدام أداة اختيار الملفات في تطبيقات جافاسكريبت لويندوز 8، ونعالج الملفات بشكل فردي واحدة تلو الأخرى.

الخطوات
#

  1. أولا نقوم بتنزيل مكتبة zip.js من هنا هذه هي الملفات التي تهمنا.

    ملفات JS zip
    inflate.js(ضغط)، deflate.js (فتح السحاب)

  2. // Creamos el objeto picker, con las opciones deseadas
        var openPicker = new Windows.Storage.Pickers.FileOpenPicker();
        openPicker.viewMode = Windows.Storage.Pickers.PickerViewMode.list;
        openPicker.suggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.documentsLibrary;
        //Establecemos los formatos que queremos capturar
        openPicker.fileTypeFilter.replaceAll([".zip", ".ZIP"]);
    
        // pickSingleFilesAsync si solo queremos uno
        openPicker.pickMultipleFilesAsync().then(function (file) {
            if(file.size >0){
                for (var i = 0; i < file.size; i++) {
                    //imaginemos que contiene ficheros de texto
                    file[i].openReadAsync().then(function (stream) {
                        if (myFile) {
                            //Creamos un blob del archivo zip
                            var blob = MSApp.createBlobFromRandomAccessStream(myFile.contentType, stream);
    
                            //Para blob
                            zip.createReader(new zip.BlobReader(blob), function (reader) {
                                // Obtenemos los ficheros
                                reader.getEntries(function (entries) {
                                    //Accedemos a cada fichero
                                    entries.forEach(function (item) {
                                        item.getData(new zip.TextWriter(), function (data) {
                                            //"data" contiene el texto del fichero
                                        });
    
                                    });
    
                                });
    
                            }, function (error) {
                                // Error callback
                            });
    
                        }
                    });
    
                }
            } else {
                //Se ha presionado cancelar
            }
        });
  3. كما نرى، بهذه الطريقة البسيطة، سنتمكن من فتح ملفات zip باستخدام zip.js وwinJS.

ملاحظات
#

هذا ينطبق على ملفات النص (داخل الملف المضغوط)، مع ترميز UTF-8، وسنرى قريبا كيفية العمل مع ترميزات أخرى مثل ISO 5598-1 وISO 5598-15 وغيرها.

ملاحظة حكيمة:
#

الاستبدال

 zip.createReader(new zip.BlobReader(blob), function (reader) {

بقلم

zip.createReader(new zip.HttpRangeReader(url), function (reader) {

سنتمكن من الوصول إلى الملفات المستضافة على موقع إلكتروني.

مقالات ذات صلة