我正试图在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 :(得分: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