2012-04-06 19 views
1

少し不信心なことに、Javaはクライアントサイドでこれを簡単にします。私は、最初にサニタイズするためにイメージをサーバーファイルに投稿する必要があると確信していましたが、そのようなサーバーファイルに誰もアクセスしないようにしたいのです(そして少し考えます)。私は、エンドユーザによる潜在的な改ざんのない厳密なプロセスが必要です。PUTをHttpUrlConnectionで使用して、共有ホストアカウントに画像を送信できますか?

私がそれを正しく理解すれば私が読んだことから、PUTは私が必要とするものでなければなりません。私の署名されたジャーは、私のFTP情報を公開したり、攻撃を受けることができるアップロードファイルを明らかにすることなく、クライアントからサーバーにサイト関連の情報イメージを送信します。私はPUTの正しい把握が私の推測する私の質問であるか?余分な処理プロセスなしで、httpを介して自分のアカウントにイメージを配置しますか?

ところで、このスニペットを画像に使用するにはどうすればよいですか?

URLConnection urlconnection=null; 
try{ 
File file = new File("C:/test.txt"); 
URL url = new URL("http://192.168.5.27/Test/test.txt"); 
urlconnection = url.openConnection(); 
urlconnection.setDoOutput(true); 
urlconnection.setDoInput(true); 

if (urlconnection instanceof HttpURLConnection) { 
try { 
((HttpURLConnection)urlconnection).setRequestMethod("PUT"); 
((HttpURLConnection)urlconnection).setRequestProperty("Content-type", "text/html"); 
((HttpURLConnection)urlconnection).connect(); 


} catch (ProtocolException e) { 
// TODO Auto-generated catch block 
e.printStackTrace(); 
} 
} 


BufferedOutputStream bos = new BufferedOutputStream(urlconnection 
.getOutputStream()); 
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
file)); 
int i; 
// read byte by byte until end of stream 
while ((i = bis.read()) >0) { 
bos.write(i); 
} 
System.out.println(((HttpURLConnection)urlconnection).getResponseMessage()); 
} 
catch(Exception e) 
{ 
e.printStackTrace(); 
} 
try { 

InputStream inputStream; 
int responseCode=((HttpURLConnection)urlconnection).getResponseCode(); 
if ((responseCode>= 200) &&(responseCode<=202)) { 
inputStream = ((HttpURLConnection)urlconnection).getInputStream(); 
int j; 
while ((j = inputStream.read()) >0) { 
System.out.println(j); 
} 

} else { 
inputStream = ((HttpURLConnection)urlconnection).getErrorStream(); 
} 
((HttpURLConnection)urlconnection).disconnect(); 

} catch (IOException e) { 
// TODO Auto-generated catch block 
e.printStackTrace(); 
} 

答えて

0

いいえ大部分のWebサーバーは想像しているようにPUTコマンドを実装していません。一般に、PUTコマンドはWebDAVプロトコルやカスタムREST APIの外部では役に立ちません。

関連する問題