HTTPClientのアップロード写真

背景:サードパーティ製のシステムやファイルシステムに転送され、フロントエンドのアップロード写真、舞台裏受け、。

 

瓶包

<依存性> 
        <のgroupId> org.apache.httpcomponents </のgroupId> 
    <たartifactId> HTTPClientの</たartifactId> 
    <バージョン> 4.5.5 </バージョン> 
</依存> 
<依存性> 
    <のgroupId> org.apache.httpcomponents </ groupId> 
    <たartifactId> httpmime </たartifactId> 
    <バージョン> 4.5 </ version>の
</依存関係>

 

シンプルコード:

輸入org.springframework.stereotype.Controller;
輸入org.springframework.web.bind.annotation.RequestMapping。
輸入org.springframework.web.bind.annotation.ResponseBody。
輸入org.springframework.web.multipart.MultipartFile;
輸入org.springframework.web.multipart.MultipartHttpServletRequest; 

インポートのjavax.servlet.http.HttpServletRequest;
輸入java.util.HashMapを;
輸入java.util.Map; 

@Controller 
@RequestMapping( "ファイル" パブリック クラスFileController { 

    @RequestMapping(値 = "アップロード"  
    @ResponseBody
    公共 ボイドアップロード(HttpServletRequestのリクエスト){
         試み{ 
            MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest)要求。
            MultipartFile coverFile = multipartRequest.getFile( "ファイル" ); 
            
            文字列のURL = "" ; 
            地図 <文字列、文字列> textMap =   新しい HashMapの<> (); 
            HttpUtil.httpClient(URL、textMap、coverFile.getName()、coverFile.getInputStream()); 
            
        } キャッチ(例外e){ 
            System.out.printlnは(E); 
        }
    } 
}
インポートにjava.io.IOException;
輸入java.io.InputStreamを。
輸入java.util.Map;
輸入java.util.Map.Entry; 

輸入org.apache.http.HttpResponse。
輸入org.apache.http.client.ClientProtocolException。
輸入org.apache.http.client.HttpClient;
輸入org.apache.http.client.methods.HttpPost;
輸入org.apache.http.entity.ContentType。
輸入org.apache.http.entity.mime.HttpMultipartMode。
輸入org.apache.http.entity.mime.MultipartEntityBuilder。
輸入org.apache.http.impl.client.DefaultHttpClient;
インポートorg.apache.http.util.EntityUtils; 


パブリック クラスHttpUtil { 

    パブリック 静的文字列のHttpClient(文字列のURL、地図<文字列、文字列> textMap、
            文字ファイル名、入力ストリームInputStreamが)スローClientProtocolException、IOExceptionが{ 
        HttpClientをコンテキスト = 新しいDefaultHttpClient()。
        HttpPostポスト = 新しいHttpPost(URL); 
        
         MultipartEntityBuilderビルダー = MultipartEntityBuilder.create()SETMODE(HttpMultipartMode.RFC6532)。
        // MultipartEntityBuilderビルダー= MultipartEntityBuilder.create(); 
        
        ために(エントリ<文字列、文字列> PARAM:textMap.entrySet()){ 
            builder.addTextBody(param.getKey()、param.getValue()、ContentType.TEXT_PLAIN)。
        } 
        
        builder.addBinaryBody( "ファイル" 値、INPUTSTREAM、ContentType.MULTIPART_FORM_DATAファイル名)。
        
        post.setEntity(builder.build())。
        HttpResponse応答 = context.execute(POST)。
        
        文字列の再 = 新しい文字列(EntityUtils.toByteArray(response.getEntity())); 
        
        戻り再; 
    } 
}

おすすめ

転載: www.cnblogs.com/yrjns/p/12051216.html