Giriş yap
HTML input type:file da tam dosya yolunu öğrenme

Başlıkta da yazdığım gibi web sayfama yüklediğin müziğin tam yolunu öğrenmek istiyorum. Ama javascript ile denediğimde "c:fake pathdosyaadı.dosyaUzantısı" olarak bir değer döndürüyor.
PHP, JavaScript veya başka bir yöntemle nasıl tam yolu öğrenebilirim?

arcface
41 gün önce

dosya sunucuya upload edilene kadar son kullanıcının tarayıcısnda kalır. Ama gene de ben bu dosyayı almak istiyorum diyorsan;
jquery'nin filereader sınıfı ile yapabilirsin örnek kod snip;

function readURL(input) {
  if (input.files && input.files[0]) {
    var reader = new FileReader();
    
    reader.onload = function(e) {
      $('#blah').attr('src', e.target.result);
    }
    
    reader.readAsDataURL(input.files[0]);
  }
}

$("#imgInp").change(function() {
  readURL(this);
});

 <form runat="server">
  <input type='file' id="imgInp" />
  <img id="blah" src="#" alt="image" />
</form>

(Kodu denemek için tıkla)[http://jsfiddle.net/7tdkxwr6/]

Ama derdin sunucuya gönderdikten sonra tutulduğu tmp yolunu almak ise onda da resimi upload ettikten sonra php tarafında şu şekilde alabilirsin;


$_FILES["file"]["tmp_name"];

Sen dosyayı taşıyana kadar yada işlem sonuçlanana kadar tmp yolunda dosya durur bu yolu da üstte verdiğim şekilde alabilirsin.

arcface
41 gün önce

Deneme kodu

Dikkat etmedim yanlış gitmiş burdan bakabilirsin.

sahin0640
41 gün önce

Cevap için teşekkürler. Deneme fırsatım olmadı, deneyince sonucu yazarım.

sahin0640
40 gün önce

Benim istediğim c:dosyayoludosyaadı gibi bir çıtkı almak, ancak bu readURL bana bunun gibi bir değer döndürdü : data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2... bu çoooooooooook uzun anlamsız.

canpacis
12 gün önce

Dostum öncelikle sen olayı çok yanlış anlamışsın, tarayıcıda çalıştıracağın javascript'in senin yüklediğin herhangi bir dosyanın tam yolunu bilmesi imkansız. Bir kere bu olayın güvenlik açıklarını düşününce bile başıma ağrılar giriyor. Ne yapmak istediğini tam olarak bilmiyorum ama senin muhtemelen dosyayı bir sunucuya yüklemen lazım. Sonrasında zaten sunucudaki yolu kullanacaksın, o yolu da backend kodu sağlayacak.

Nasıl akıllıca soru sorulur?
Daha hızlı ve kaliteli cevaplar almak için önce nasıl soru sorulacağını bilmeniz gerekir. Eğer bilmiyorsanız bu yazı serisini okuyun.

Cevap yaz