在swift上上传服务器上的视频

时间:2016-01-13 07:16:38

标签: ios swift video

我正试图在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
}

1 个答案:

答案 0 :(得分: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