<input type="file" id="file-id" name="file_name" onchange="theimage();">
Bu benim yükleme butonum.
<input type="text" name="file_path" id="file-path">
Bu, dosyanın tam yolunu göstermem gereken metin alanıdır.
function theimage(){
var filename = document.getElementById('file-id').value;
document.getElementById('file-path').value = filename;
alert(filename);
}
Bu benim sorunumu çözen JavaScript. Ancak uyarı değerinde bana şunları veriyor
C:\fakepath\test.csv
ve Mozilla bana veriyor:
test.csv
Ancak ben yerel tam nitelikli dosya yolunu istiyorum. Bu sorun nasıl çözülür?
Bu tarayıcı güvenlik sorunundan kaynaklanıyorsa, bunu yapmanın alternatif yolu ne olmalıdır?
Bazı tarayıcılarda JavaScript'in dosyanızın yerel tam yolunu bilmesini engelleyen bir güvenlik özelliği vardır. Bu mantıklıdır - bir istemci olarak, sunucunun yerel makinenizin dosya sistemini bilmesini istemezsiniz. Tüm tarayıcıların bunu yapması güzel olurdu.
Ben de aynı sorunla karşılaştım. IE8'de dosya giriş kontrolünden sonra gizli bir giriş oluşturarak bu sorun çözülebilir. Bunu bir önceki kardeşinin değeri ile doldurun. IE9'da bu da düzeltildi.
Tam yolu öğrenmek istememin nedeni, yüklemeden önce bir javascript görüntü önizlemesi oluşturmaktı. Şimdi seçilen resmin önizlemesini oluşturmak için dosyayı yüklemem gerekiyor.