2017-05-10 15 views
0

CommonsMultipartFileまたはMultipartFile を使用してファイルをアップロードしようとしましたが、ローカルではうまく動作しましたが、一度もcloudfoundryにプッシュされませんでした。CommonsMultipartFileまたはMultipartFileがcloudfoundryにプッシュされていません

私はポストマンを使用してテストしてい。ここで

はサンプルコードです:私はCF URLを呼び出すようにしようとしていたときにここで

@ResponseBody  
    @RequestMapping(value = "/api/stw/upload1", method = RequestMethod.POST) 
    public String upload1(@RequestParam(name="text",required=true) MultipartFile text){ 

     return "done"; 

    } 

はポストマンで応答です。

{ 
    "timestamp": 1494397075418, 
    "status": 400, 
    "error": "Bad Request", 
    "exception": "org.springframework.web.bind.MissingServletRequestParameterException", 
    "message": "Required MultipartFile parameter 'text' is not present", 
    "path": "/api/stw/upload1" 
} 

注:私は、フォームのデータでローカルにではなく、CFに取り組んpostman.Itsに必要なキーの値を渡しています 例:テキスト(キー) - uploadfile(バリュー)

**Request Header** 

    Accept:*/* 
    Accept-Encoding:gzip, deflate, br 
    Accept-Language:en-US,en;q=0.8,kn;q=0.6 
    Cache-Control:no-cache 
    Connection:keep-alive 
    Content-Length:32354 
    Content-Type:multipart/form-data; boundary=----WebKitFormBoundary10QktAWiD1GCsBKF 
    DNT:1 
    Host:<CF Service URL> 
    Origin:chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop 
    Postman-Token:d22500e6-f0d9-0f29-b981-78a45b6e4524 
    Pragma:no-cache 
    User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36 

**Request Payload** 
------WebKitFormBoundary10QktAWiD1GCsBKF 
Content-Disposition: form-data; name="uploadFile"; filename="error.txt" 
Content-Type: text/plain 


------WebKitFormBoundary10QktAWiD1GCsBKF-- 
+0

どのようにローカルで実行していますか?どのバージョンのJavaとTomcat?これらは、CFでアプリケーションを実行するときにJavaビルドパックによってインストールされているバージョンと一致しますか(ヒント:Javaビルドパックには、ステージング中にインストールされているバージョンが表示されます)。おそらくあなたが送っているリクエストを見るのに役立つでしょう。たぶんChrome Devのツールからそれを取得するか、それを複製する 'curl'コマンドをインクルードしてください。 –

+0

私は郵便配達員からサービスを呼び出しています。 JavaとTomcatの両方が最新のJava8とtomcat 8.5です。 –

+0

要求ヘッダー 受け入れ:*/* 受け入れエンコード:gzipでは、収縮、BR のAccept-言語:EN-US、EN; Q = 0.8、KN; Q = 0.6 のCache-Control:キャッシュなし 接続:キープアライブ のContent-Length:32354 のContent-Type:マルチパート/フォームデータ;境界= ---- WebKitFormBoundary10QktAWiD1GCsBKF DNT:1つの ホスト: 原産地:クローム拡張:// fhbjgbiflinjbdggehcddcbncdddomop –

答えて

0

問題はコモンズ・アップロードポンポン依存性でした。

私は地元への罰金働いていたアップロードファイル用コモンズ・アップロードを使用していたが、Predixに押されて、そのマルチパートのエラーを与えました。だから、それぞれのBeanの設定を削除してからPredixにプッシュした後、うまくいきました。

関連する問題