2012-05-16 7 views
0

Добрый день: мне нужно передать аудиофайл (Wav) с клиента на сервер. Проблема в том, что мой код работает без ошибок, но файл не передается, поскольку в целевой папке не отображается! Надеюсь, кто-то может мне помочь. Приветствую!загрузить файл на сервер

Código:

try { 
     URL pagina = new URL("http://localhost:8081/prueba/audio.wav"); 
     HttpURLConnection con = (HttpURLConnection) pagina.openConnection(); 

     con.setDoOutput(true); 
     con.setDoInput(true); 
     con.setRequestMethod("POST"); 
     con.setRequestProperty("content-type", "audio/x-wav"); 
     con.setUseCaches(false); 

     con.connect(); 

     String filename = System.getProperty("user.home") + "\\.vmaudio\\" +    "audio.wav"; 


     FileInputStream is = new FileInputStream(filename); 

     DataOutputStream fos = new DataOutputStream(con.getOutputStream()); 


     int fByte; 

     int bytesTrasferidos = 0; 
     while ((fByte = is.read()) != -1) { 
      fos.write(fByte); 
      fos.flush(); 
      bytesTrasferidos++; 
     } 
     System.out.println("Bytes Transferidos: "+bytesTrasferidos); 

     fos.close(); 
     is.close(); 
     con.disconnect(); 


     } catch (MalformedURLException ex) { 
     Logger.getLogger(pruebasVarias.class.getName()).log(Level.SEVERE, null, ex); 

     } catch (Exception ex) { 
     Logger.getLogger(pruebasVarias.class.getName()).log(Level.SEVERE, null, ex); 

     } 

PD: возможно, потребуется создать сервлет, который получает файл и их скопировать в папку на сервере, но на самом деле это не так, моя идея была, чтобы отправить его непосредственно от клиента ..

ответ

0

Вам нужно создать сервлет. В Otherewise нет ничего, что было бы готово принять ваш контент и сохранить его в каталоге.

К счастью, вам не нужно реализовывать его самостоятельно. Посмотрите на jakarta file upload

+0

спасибо за информацию !! – DavidH

0

Я думаю, вы не должны использовать DataOutputStream

Посмотрите на это.

Using java.net.URLConnection to fire and handle HTTP requests

URLConnection connection = new URL(url).openConnection(); 
connection.setDoOutput(true); // Triggers POST. 
connection.setRequestProperty("Accept-Charset", charset); 
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=" + charset); 
OutputStream output = null; 
try { 
output = connection.getOutputStream(); 
output.write(query.getBytes(charset)); 
} finally { 
    if (output != null) try { output.close(); } catch (IOException logOrIgnore) {} 
} 
InputStream response = connection.getInputStream(); 
// ... 
+0

спасибо за информацию !! – DavidH

Смежные вопросы