我已根据uploadTaskWithRequest
所需的内容跟踪Apple文档作为上传文件的参数。这对我来说似乎很直接,但我只看到请求命中服务器而没有其他内容上传。我正在使用PHP,$_FILES
和$_POST
数组在服务器端始终为空(在OSX附带的Apache + PHP上运行)。 session
变量在其他地方定义并启动。
let url = "http://localhost/upload.php"
let file = "image.png"
uploadFile(url,file)
func uploadFile(url: String, file: String) {
let filePath = mediaDir?.URLByAppendingPathComponent(file)
var request = NSMutableURLRequest(URL: NSURL(string: url)!)
println(filePath,url)
request.HTTPMethod = "POST"
let task = session.uploadTaskWithRequest(request,
fromFile: filePath!)
task.resume()
}
我在这里做错了什么?有什么想法吗?
答案 0 :(得分:0)
我不再使用PHP了,所以也许它已经改变了。如果您上传let task = session.uploadTaskWithRequest(request,fromFile: filePath!)
不创建multipart / form POST,而是创建一个其Content-Type为application / octet-stream的帖子,而content是原始文件本身。换句话说,您无法在$ _POST或$ _FILES中获取该文件。
我认为您可以获得如下文件:
$upload = file_get_contents('php://input');
可能会过时,但它可能是一个很好的起点。