作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试使用 REST API 将图像或文件与 Parse.com 中的对象相关联。 Parse.com REST API Doc比较模糊,先说怎么上传哪个好,再说怎么关联。唯一的问题是它没有显示如何与 User table
关联,仅显示 Object table
,所以当我尝试与用户关联时,它要求一个用户名和密码,响应就好像它试图创建一个新的用户
。当我尝试与常规表 Company
关联时,它会创建一个新条目。欢迎任何帮助,这是我到目前为止的代码。
这是使用 REST 将文件上传到 Parse.com 的代码
let baseURL = NSURL(string: self.baseURL)
let url = NSURL(string: "/1/files/pic.jpg", relativeToURL: baseURL)
let request = NSMutableURLRequest()
request.HTTPMethod = "\(HTTPMethod.POST)"
request.addValue(appID, forHTTPHeaderField: "X-Parse-Application-Id")
request.addValue(apiKey, forHTTPHeaderField: "X-Parse-REST-API-Key")
request.addValue("image/jpeg", forHTTPHeaderField: "Content-Type")
let image = UIImage(named: "empAvatar")
let imageData = UIImageJPEGRepresentation(image!, 0.9)
let base64String = imageData!.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0))
let param = ["userProfile":base64String]
do{
request.HTTPBody = try NSJSONSerialization.dataWithJSONObject(param, options: .PrettyPrinted)
} catch {
print("ERROR: HTTP Body JSON")
}
request.URL = url
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithRequest(request) {
data, response, error in
do {
let imageDic = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as! [String:AnyObject]
print("DATA: \(imageDic)")
} catch {
}
}
task.resume()
这是将文件与用户/对象相关联的代码
let baseURL = NSURL(string: self.baseURL)
let url = NSURL(string: "/1/users/", relativeToURL: baseURL)
let request = NSMutableURLRequest()
request.HTTPMethod = "\(HTTPMethod.POST)"
request.addValue(appID, forHTTPHeaderField: "X-Parse-Application-Id")
request.addValue(apiKey, forHTTPHeaderField: "X-Parse-REST-API-Key")
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let param = ["name":"John", "picture":["name":"tfss-127e50c4-be6e-4228-b1a3-3f253358ac-pic.jpg","__type":"File"]]
do{
request.HTTPBody = try NSJSONSerialization.dataWithJSONObject(param, options: .PrettyPrinted)
} catch {
print("ERROR: HTTP Body JSON")
}
request.URL = url
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithRequest(request) {
data, response, error in
do {
let imageDic = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as! [String:AnyObject]
print("DATA: \(imageDic)")
} catch {
}
}
task.resume()
有了网址,我也试过了:
let url = NSURL(string: "/1/class/Company/", relativeToURL: baseURL)
它刚刚创建了一个新条目。
谢谢!
最佳答案
POST
请求将尝试使用 PUT
方法创建新条目。
关于ios - 如何使用 Swift 2.0 在 Parse.com (REST API) 中上传图像并将其与用户关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34332937/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!