2016-01-13 74 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