İle dosya açmaya çalıştım
İşte bir örnek FileReader:
@SamusHands developer.mozilla.org/en-US/docs/Web/API/File/name - Paolo Moretti
Sadece bir saniye, aynı son dosyayı yeniden yüklediğimde, içerik değişmez (içeriğiyle ilgili olarak, dosya metnini düzenlediğimde söylüyorum). Yardım edebilir misin? - hydroper
@SamusHands Evet, haklısınız, sorunu Safari ve Chrome'da yeniden üretebiliyorum (Firefox'ta iyi çalışıyor). Girişin değerini ayarlamak null her birinde onClick olay hile yapmalı, bakın: stackoverflow.com/a/12102992/63011 - Paolo Moretti
Bu bir örnek olarak iyidir FileReaderama hakkında bir yorum displayContents yukarıda: bu ayarı not et innerHTML Güvenilir olmayan içerikle bunun gibi bir güvenlik açığı olabilir. (Bunu kendiniz görmek için bir bad.txt gibi bir şey içeren <img src="/nonexistent" onerror="alert(1);"> ve uyarının idam edildiğini görün - daha kötü kod olabilir.) - ShreevatsaR
@ShreevatsaR gerçekten iyi bir nokta. Snippet'im sadece bir örnektir, ancak haklısınız, kötü güvenlik alışkanlıklarını tanıtmamalı. Ben değiştirdim innerHTMLile textContent. Yorumun için teşekkürler. - Paolo Moretti
HTML5 fileReader özelliği yerel dosyaları işlemek için izin verir, ancak bunlar kullanıcı tarafından seçilebilir, dosyaları arayan kullanıcılar disk hakkında köklenme gidemezsiniz.
Bunu şu anda Chrome'un (6.x) geliştirme sürümleriyle kullanıyorum. Diğer tarayıcıların ne olduğunu bilmiyorum.
Doğru, şimdi HTML5 ile mümkün. Buraya bak - Flavien Volken
Başvurulan özelliklerin hızlı bir şekilde taranması (en son güncellenen 2012-07-12), dosya yazmak için sadece okuma olmadığını gösterir. - HBP
Çünkü benim hayatım yok ve bu 4 itibar noktasını istiyorum, böylece sevgimi (kodları yanıtlayarak) kodlamada gerçekten iyi olan kişilere gösteriyorum. Paolo Moretti's kodu. Sadece kullan openFile(ilk parametre olarak dosya içeriği ile yürütülecek işlev).
Eğer dosyayı okumak istersen abc.txt, kodu şu şekilde yazabilirsiniz:
şimdi txt abc.txt dosyasının içeriğini içerir.
Bu yanıt, sunucu tarafında bulunan dosyalar değil, istemci tarafında bulunan dosyaların nasıl açılacağı sorusuyla ilgili değildir. - Thomas Nguyen
Zarif Çözüm - Farzad YZ
Tarayıcı güvenliği bize izin vermediğinden, xmlhttp istek yöntemi yerel diskteki dosyalar için geçerli değildir. Ancak tarayıcı güvenliğini bir kısayol oluşturarak geçersiz kılabilirsiniz:> sağ tıklama-> özellikler Hedefte "... tarayıcı location path.exe "append --allow-dosya-access-from-files.This krom üzerinde test edilmiştir, ancak tüm tarayıcı pencerelerinin kapatılması gerektiğine ve kodun bu kısayolla açılmış tarayıcıdan çalıştırılmasına dikkat edilmelidir.
Yapamazsın. Firefox, Safari vb. Yeni tarayıcılar 'dosya' protokolünü engeller. Sadece eski tarayıcılarda çalışır.
İstediğiniz dosyaları yüklemeniz gerekecek.