SORU
24 Mayıs 2010, PAZARTESİ


HTML5/Javascript oluşturmak ve bir dosyaya kaydetmek için

WebGL ile son zamanlarda işe yaramaz oldum, ve Collada bir okuyucu çalışma aldık. Sorun çok yavaş olması (Collada çok ayrıntılı bir biçimidir), biçim (muhtemelen JSON) kullanımı kolay bir dosya dönüştürme başlatmak için gidiyorum. Şey, ben zaten benim ihracatçı olarak da kullanabilirim yani Javascript dosyasını ayrıştırmak için kod var! Sorun biriktiriyor.

Şimdi, dosyayı ayrıştırmak, sunucu için sonuç göndermek ve tarayıcı dosyayı sunucudan geri yükleme gibi bir isteği var biliyorum. Ama gerçekte sunucu bu belirli bir süreç ile ilgisi yok, niye karıştın? var Ben zaten bellekte İstenen dosya içeriğini. İndir saf javascript kullanarak kullanıcı mevcut olabilir herhangi bir yolu var mı? (Sanmam, ama iste...) olabilir

Ve açık olmak gerekirse: kullanıcıların haberi olmadan dosya sistemine erişim için çalışıyorum değilim! Kullanıcı bir dosya verecektir (muhtemelen sürükle ve bırak yoluyla), komut dosyası, bellekte dosyasını dönüştürmek, ve kullanıcı sonucu indirmek için istenir. "Bildiğim kadarıyla tarayıcı ile ilgili faaliyetler. "güvenli olması gereken tüm

[EDİT]:Ben bahsi geçmedi ayarlıyoruz, o posterleri kim açtı "Flash" geçerli yeterli, ama bir bölümü ne yapıyor olursam olayım, bir girişim aydınlatmak için ne yapılabilir ile saf HTML5... bu yüzden Flash olmaz benim açımdan. (Gerçi bunu bir "" web app.) gerçek yapmak için gayet geçerli bir cevap değil Bu durumda server dahil etmek istiyorum sürece şansım yok gibi görünüyor. Yine de teşekkürler!

CEVAP
29 Aralık 2010, ÇARŞAMBA


TAMAM, bir veri:URI oluşturmak benim için kesinlikle hile, Matthew sayesinde ve Dennkster bu seçeneği işaret ediyor! Ben temelde burada

1) bir dize olarak tüm içeriği bul "" (zaten inşa edilmiş bir sayfa etiketi innerHTML okuyarak orada başlangıçta oluşturarak veya örn. içerik

2) Veri URI Oluşturmak:

uriContent = "data:application/octet-stream,"   encodeURIComponent(content);

Tarayıcı türüne vb. göre, uzunluğu kısıtlamaları olacak ama örneğin Firefox 3.6.12 en az 256 k kadar çalışır. Encodeurıcomponent yerine Base64 kodlama işleri daha verimli hale getirebilir, ama benim için iyi oldu.

3) yeni bir pencere açın ve "" bu URI için JavaScript oluşturulan sayfamda bir indirme konumunu sorar: . yönlendirme

newWindow = window.open(uriContent, 'neuesDokument');

İşte bu kadar.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • El SalvaLobo

    El SalvaLobo

    10 Temmuz 2006
  • merumputdotcom

    merumputdotc

    24 ŞUBAT 2012
  • parlophone

    parlophone

    28 ŞUBAT 2006