2016-01-13 75 views
2

我想在swift上在服务器端上传视频。我使用更多参数上传图像和视频。我可以在服务器上传图片,但不能上传视频。我的服务器在请求中找不到我连接的视频,并在服务器端提供空指针异常。我是新成员,请帮助我在服务器上上传视频。在swift上在服务器上上传视频

func createBodyWithParametersvideo(parameters: [String: String]?, filePathKey: String?, imageDataKey: NSData, videoDataKey : NSData, boundary: String) -> NSData { 
    var body = NSMutableData(); 

    if parameters != nil { 
     for (key, value) in parameters! { 
      body.appendString("--\(boundary)\r\n") 
      body.appendString("Content-Disposition: form-data; name=\"\(key)\"\r\n\r\n") 
      body.appendString("\(value)\r\n") 
     } 
    } 

    var filename = "forest.jpg" 
    var mimetype = "image/jpg" 

    body.appendString("--\(boundary)\r\n") 
    body.appendString("Content-Disposition: form-data; name=\"thumbnail\"; filename=\"\(filename)\"\r\n") 
    body.appendString("Content-Type: \(mimetype)\r\n\r\n") 
    body.appendData(imageDataKey) 
    body.appendString("\r\n") 
    body.appendString("--\(boundary)--\r\n") 

    print("video data lenght is :- \(videoDataKey.length)") 

    filename = "video.mp4" 
    mimetype = "video/mp4" 
    body.appendString("--\(boundary)\r\n") 
    body.appendString("Content-Disposition: form-data; name=\"data\"; filename=\"video.mp4\"\r\n") 
    body.appendString("Content-Type: \(mimetype)\r\n\r\n") 
    body.appendData(videoDataKey) 
    body.appendString("\r\n") 
    body.appendString("--\(boundary)--\r\n") 


    return body 
} 
+0

你找到答案了吗? – Crashalot

回答

0

尝试删除此行

body.appendString("--\(boundary)--\r\n") 

是去之前

print("video data lenght is :- \(videoDataKey.length)") 
在你的代码

这是POST体中应该开始和结束的一种分隔符。

// 1st parametr 
body.appendString("--\(bound)\r\n") // START PART 
/*Your post parametrs*/ 
body.appendString("\r\n") 
... 
// N-th parametr 
body.appendString("--\(bound)\r\n") // START PART 
/*Your post parametrs*/ 
body.appendString("\r\n") 

body.appendString("--\(bound)--\r\n") // CLOSE