2012-10-06 14 views
6

Próbuję przesłać pliki przez stronę html na naszym serwerze opartym na systemie uniksowym, ale nie wiem, jak zabrać pliki na zdalny serwer & zapisywać tam pliki.Przesyłanie plików na zdalny serwer przez html & javascript

Piszę poniższy kod, pomóż mi go podłączyć.

<html> 
<head> 
<script type="text/javascript"> 

function Upload() 
{ 

var filename = document.getElementById("filename").value; 

var storepath = "HOSTURL/Foldername"; 

} 
</script> 
</head> 
<body> 
<form action="" method="post" enctype="multipart/form-data" > 
    <input type="file" name="filename" /> 
    <input type="submit" value="Upload" onclick="Upload" /> 
</form 
</body> 
</html> 
+2

Oprócz tego, że nie ustawiłeś 'akcji' w formularzu, to co powinieneś pozwolić ci na przesłanie pliku na twój serwer (javascript, który masz, jest całkowicie niepotrzebny). W tym momencie jest to przetwarzanie po stronie serwera. Czego używasz na swoim serwerze? – ultranaut

+1

Jeśli naprawdę potrzebujesz JavaScript (sprzężenie zwrotne przy przesyłaniu itp.), To nie wyważaj ponownie koła - użyj jednego z wielu programów do przesyłania plików javascript, takich jak [this] (http://blueimp.github.com/jQuery-File-Upload/) jeden. Ale jeszcze łatwiej po prostu wysłać plik na serwer przy użyciu tradycyjnych metod. – didster

+0

Nie mogę zapisać pliku w określonej lokalizacji. Daj mi znać, jak mogę to zrobić. – Saurabh

Odpowiedz

2

Dlaczego warto korzystać z JavaScript? Można prosty skorzystać z formularza html aby umieścić plik na serwerze:

<html> 
    <body> 
    <form action="/foo/bar.ext" method="post" enctype="multipart/form-data"> 
     <input type="file" name="filename" /> 
     <input type="submit" value="Upload" /> 
    </form> 
    </body> 
</html> 

zmienić formę action do miejsca, które chcesz opublikować plik.

+0

Używam tego & kiedy testuję na mojej lokalnej maszynie zabiera mnie tylko na adres akcji i nie przesyła tam żadnego pliku. – Saurabh

+0

Nie mogę zapisać pliku w określonej lokalizacji. Daj mi znać, jak mogę to zrobić. – Saurabh

+0

W jakim języku korzystasz z php, asp.net itp.? A może lepiej jest stworzyć nowe pytanie. – Erwin

2

PHP byłoby lepszym wyborem.

<?php 
if(isset($_POST["Upload"])) 
{ 
    $target_path = "uploads/"; 

    $target_path = $target_path . basename($_FILES['filename']['name']); 

    if(move_uploaded_file($_FILES['filename']['tmp_name'], $target_path)) { 
     echo "The file ". basename($_FILES['filename']['name']). " has been uploaded"; 
    } else{ 
     echo "There was an error uploading the file, please try again!"; 
    } 
} 
?> 
<form method="post" enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" > 
    <input type="hidden" name="MAX_FILE_SIZE" value="100000" /> 
    <input type="file" name="filename" /> 
    <input type="submit" value="Upload" name="Upload" /> 
</form> 
+1

Odpowiedź Erwina również będzie działać. – Ner0

+0

Potrzebuję też tylko zrobić to z HTML & javascript ... dzięki, ale bez potrzeby kodu PHP. To jest Google, jeśli możesz mi pomóc poprzez HTML & javascript. – Saurabh

Powiązane problemy