Dosya İşleme Çalışma Zamanı¶
Özel web bileşenleri, yükleme, işleme ve dosya seçimi için paylaşılan AltiKare.UI.File yardımcılarını kullanabilir. drop/paste Form düzeyindeki sözleşmeler şu bölümlerde belgelenmiştir: File, FileListve ImageUpload.
Dosya Seçimi Olayları¶
AltiKare.UI.FileDialog varsayılan olarak tek seçim yapar. Şunu yayınlar: selected(file); iletişim kutusunun ne zaman kapatılacağına onu kullanan bileşen karar verir.
1 2 3 4 5 6 | |
Toplu işlem yapan bileşenlerde şunu ayarlayın: multiple : true. maxFiles iletişim kutusundaki yeni seçim için sınırdır; iletişim kutusunu açarken mevcut ekleri bu sayıdan çıkarın. İletişim kutusu şunu yayınlar: selectedFiles(files) şu işlem Seçilen Dosyaları Ekle onaylandığında ve eşzamansız işleyici başarıyla tamamlandıktan sonra kapanır.
1 2 3 4 5 | |
Mevcut skaler işleyicileri dizi bekleyecek şekilde değiştirmeyin. File ve ImageUpload, skaler davranışını korur: selected(file) FileList ise toplu işlem sözleşmesini kullanır. Tüketici bir grubu desteklese bile kaynak dosyaları teker teker ve art arda yayınlayabilir.
Yararlı seçenekler şunlardır: accept, initialSource, initialFiles, disabledServices, imagesOnly, compression, ve reviewImage. Yerleşik kaynak tanımlayıcıları şunlardır: Recent, Desktop, ve Webcam; sağlayıcı tanımlayıcıları yapılandırmaya bağlıdır. local ile açılan bir iletişim kutusu initialFiles ilerleme ve hataların görülebilmesi için Desktop'ı etkinleştirir. Başlangıçta dosya yoksa veya açıkça bir kaynak belirtilmemişse, kullanılabilir olduğunda ilk sırada Recently Used görünür. Şu işlem için gösterilmez: localOnly veya istemci dosya okumayı devre dışı bıraktığında. localOnly tek bir yerel metin dosyasını okur ve şunları döndürür: name, content, mimeType, ve size ; dosyayı yüklemez ve depolanmış dosya kimliği oluşturmaz.
Yükleme yardımcıları¶
AltiKare.UI.File.upload(file, options) şunu döndürür: {promise, abort}. Yerel tarayıcı API'lerini ve aynı anda en fazla üç etkin iş içeren ortak bir kuyruğu kullanır. Her dosya kendine ait bir yükleme bağlantısı ve HTTP isteği alır. Bekleyen veya etkin bir işi iptal etmek için şunu çağırın: abort() ; iptal, şu hatayla reddedilir: AbortError.
Başarılı bir yerel yükleme şunları döndürür: id, name, url, mimeType, size, ve revisioned : true. Görsel incelemesi istendiğinde, imageReviewed onayın tamamlandığını belirtir. Kaynak sağlayıcılar daha az meta veri döndürebilir: URL gerektiğinde depolanmış kimlikleri şu işlev aracılığıyla normalize edin: AltiKare.UI.File.prepareFileOptions ve her bulut seçiminin uygulamaya ait bir kimliği ya da yerel olarak depolanmış baytları olduğunu varsaymayın.
AltiKare.UI.File.UploadList dosya başına ilerleme, kaldırma, yeniden deneme ve bir geri çağırma ekler. selected Tamamlanan satırlar kaldırılır; başarısız satırlardaki hata korunur. Reddedilen dosya türleri, virüs algılanması ve yeniden denenemeyen görsel hataları için yeniden deneme sunulmaz. FileDialog, bekleyen işler sona erdiğinde başka bir aktarım başarısız olsa bile başarıyla seçilmiş dosyaların kabul edilmesine izin verir. Diğer bileşenler, kendi gönderme aksiyonlarından önce başarısız satırların temizlenmesini zorunlu kılabilir.
bindInput(element, receive, enabled) dinleyiciler için bir bağlantıyı kaldırma işlevi döndürür. drop/paste Dosya verilerini yalnızca açıkça işaretlenmiş en yakın dosya girişi yüzeyi alır; normal metin yapıştırma işlemi düzenleyiciye bırakılır. Sahip bileşen kaldırıldığında bağlantıyı kaldırma işlevini çağırın ve yükleme listelerini temizleyin. Şunu kullanın: readClipboard() desteklenen pano görseli biçimleri için; klavyeyle yapıştırma da tarayıcının pano olayı üzerinden dosyaları sağlayabilir.
Görsel işleme¶
ui.imageeditor.js önizleme, doğrulama, crop/rotationve sıkıştırma yardımcıları sağlar. ImageUpload, yerel yüklemeden önce inceleme ister; bu bileşenin stored/template seçimleri yalnızca önizleme içeren bir onay kullanır. İncelemenin iptal edilmesi yeni bir form değerini bağlamamalıdır. Paylaşılan HtmlBox yükleme bağdaştırıcısı, ImageUpload'ın inceleme iletişim kutusu olmadan görsel doğrulaması ve yükleme ilerlemesi sağlar. Ön ayar davranışı ve sınırlar için bkz. ImageUpload .
Çalışma zamanı yerel XHR, medya yakalama, görsel kod çözme ve canvas işlemlerini kullanır. Eski WebcamJS bağımlılığı kaldırılmıştır. Tarayıcıda kamera yakalama için şu kullanılır: getUserMedia; mevcut Cordova kamera yolu korunur. Özelliklerin ve izinlerin kullanılabilirliği yine de tarayıcıya veya cihaza bağlıdır.
Son kullanılan dosyaların sorumlulukları¶
Şu getRecent, removeRecent, ve reuseRecent RPC işlemleri dosya okuma kapsamı gerektirir. Yeniden kullanım ayrıca dosya yazma kapsamı gerektirir ve bağımsız bir geçici kopya oluşturur. Son kullanılan dosya başvurusu bir yetkilendirme izni değildir: sunucu hem geçerli alanadını hem de dosyanın sahibini denetler. Geçmiş başvurusunu kaldırmak dosya içeriğini silmez.
Application.RecentItems yönetici giriş noktasıdır. RecentItemsManager.Files.cs dosya geçmişiyle ilgili erişim, sona erme, sınırlar, yeniden kullanım ve revizyon uzlaştırması gibi iş kurallarını içerir. RecentItemsDatabase veritabanı işlemlerini içerir. Dosya geçmişine ayrı bir RecentFilesManager.
Dosya başvurularında geçmiş, öğe türünü korur: 1001 bir revizyon yayımlandığında özgün geçmiş ile revizyon geçmişini tek bir kurallı dosya başvurusunda birleştirir ve kaydedilmiş en son kullanımı korur. Sonraki sınır budaması, daha eski bir yinelenen kayıt nedeniyle bu yeni başvuruyu kaldırmamalıdır. Yeniden kullanımın oluşturduğu geçici kopyaya yeni bir oluşturulma tarihi atanır.
Uyumluluk ve uygulama¶
- File ve ImageUpload skaler dosya değerlerini, şu bilgileri korur:
Caption/NameXPath, URL'yi ve dosya başına revizyon özniteliklerini. - FileList açıkça bir koleksiyon sunar; mevcut skaler XML'i farklı yorumlamaz.
- FileList için zorunlu doğrulama, geçerli dosya öğelerini inceler. Diğer zorunlu denetimler mevcut skaler kontrollerini korur.
- Dosya seçicinin kabulü, görsel sınırları ve
MaxFilesistemci davranışıdır. Gerekli iş sınırlarını ve yetkilendirmeyi, formu veya dosyayı kullanan sunucu yollarında uygulayın. - İstemcideki ilerleme ve yüklemenin başarılı olması, formun veya iş akışı görevinin kaydedildiği ya da tamamlandığı anlamına gelmez.