【发布时间】:2023-06-02 05:58:01
【问题描述】:
我已将视频文件上传到服务器,但文件大小为零。
let url:NSURL? = NSURL(string: (Config.sampleuploadurl as String)+"/uploadServlet?chehara_email=\(candit_email)")
// let url:NSURL? = NSURL(string: (Config.apiUrl as String)+"/UploadServlet?chehara_email=\(candit_email)")
print(url)
let cachePolicy = NSURLRequestCachePolicy.ReloadIgnoringLocalCacheData
var request = NSMutableURLRequest(URL: url!, cachePolicy: cachePolicy, timeoutInterval: 2.0)
request.HTTPMethod = "POST"
let boundaryConstant = "Boundary-7MA4YWxkTLLu0UIW"; // This should be auto-generated.
let contentType = "multipart/form-data; boundary=" + boundaryConstant
let fileName:String = videoName
let mimeType = "text/MOV"
let fieldName = "uploadFile"
request.setValue(contentType, forHTTPHeaderField: "Content-Type")
var error: NSError?
var dataString = "--\(boundaryConstant)\r\n"
dataString += "Content-Disposition: form-data; name=\"\(fieldName)\"; filename=\"\(fileName)\"\r\n"
print("dataString")
dataString += "Content-Type: \(mimeType)\r\n\r\n"
print(dataString)
dataString += String(contentsOfFile: videoName, encoding: NSUTF8StringEncoding, error: &error)! // This is Error Line
dataString += "\r\n"
dataString += "--\(boundaryConstant)--\r\n"
let requestBodyData = (dataString as NSString).dataUsingEncoding(NSUTF8StringEncoding)
print("Request")
print(requestBodyData)
request.HTTPBody = requestBodyData
print(request.HTTPBody)
})
我推荐这个tutorial。
【问题讨论】:
-
file name你是否得到数据 -
我很惊讶看到一部用 UTF8 编码的电影,你不应该使用 NSData 吗?
-
是的,我得到 MOV 文件并上传 mov 文件,但大小为零
-
如何使用 NSData 否则?