2016-06-16 8 views
1

Alamofire uploadコードには、namefileNameフィールドがあります。私の春のサーバーでAlamofire upload "name"パラメータ

Alamofire.upload(
        .POST, 
        "http://192.168.1.241:8080/file/user", 
        multipartFormData: { multipartFormData in 
         multipartFormData.appendBodyPart(data: imageData, name: "file", fileName: "file", mimeType: "image/jpeg") 
        }, 
        encodingCompletion: { encodingResult in 
         switch encodingResult { 
         case .Success(let upload, _, _): 
          upload.progress { bytesWritten, totalBytesWritten, totalBytesExpectedToWrite in 
           dispatch_async(dispatch_get_main_queue()) { 
            let percent = (Float(totalBytesWritten)/Float(totalBytesExpectedToWrite)) 
            //progress(percent: percent) 
            print(percent) 
           } 
          } 
          upload.responseJSON { response in 
           debugPrint(response) 
          } 
         case .Failure(let encodingError): 
          debugPrint(encodingError) 
         } 
        } 
        ) 

私は@RequestParam("file") MultipartFile fileを探していると私はfilenameを設定したので、私はそれを動作させることができませんでした。しかし、明らかに私はfileName"file"に設定する必要がありました。

nameの目的は、要求パラメータのマッピングに使用されていないと思われますか?ビデオ:「ファイル名」ちょうどのみlastPathComponentStringでフォーマット(例えば、:(www.mysite.com/myvideo.mp4例)

答えて

1

は「ファイル」のために、それはあなたのファイルの完全なNSURL性質を意味します.mp4)

+0

ファイルの 'NSData'を渡しているときにファイルの' NSURL'プロパティが必要なのはなぜですか? – Alan

+0

NSDataにはファイルデータのみが含まれている場合、NSURLプロパティはいくつかのパラメータで構成できるため、ソースはMultipartFormDataの成果によって要求をよく区別します。 AlamofireはNSMutableURLRequestに基づく複雑なフレームワークです。 –