这里有新手到Rails / iOS。我有一个rails博客应用程序。我正在尝试使用带有ASIFormDataRequest的HTTP POST方法从iOS上传帖子。这是被称为的代码:
NSURL *url=[[NSURL alloc] initWithString:@"http://localhost:3000/posts"];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setPostValue:@"Ben" forKey:@"name"];
[request setFile:@"star.png" forKey:@"image"];
[request startSynchronous];
NSString *response = [request responseString];
NSLog(@"response:: %@", response);
当我运行此代码时,没有任何反应。我的服务器没有联系。我得到了回复::(null)。知道为什么吗?
编辑我发现star.png需要有完整的文件地址。现在POST工作正常,但名称或图像都没有保存到数据库中。将创建一个包含空名称和图像的新帖子。知道为什么吗?
答案 0 :(得分:1)
为什么你在这里使用localhost?
NSURL *url=[[NSURL alloc] initWithString:@"http://localhost:3000/posts"];
使用您的网络服务器IP而不是localhost
NSURL *url=[[NSURL alloc] initWithString:@"http://yourservername:3000/posts"];
答案 1 :(得分:1)
NSData *imageData = [NSData dataWithContentsOfFile:imagePath];
NSURL *url=[[NSURL alloc] initWithString:@"http://localhost:3000/posts"];
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
[request setPostValue:@"Ben" forKey:@"name"];
[request setPostValue:imageData forKey:@"image"];
[request startSynchronous];
“imagePath”是图像的路径。完整的道路。