ruby on rails 3-使用ASIFormDataRequest从iPhone发布请求不起作用



Rails/iOS新手。我有一个rails博客应用程序。我正在尝试使用ASIFormDataRequest的HTTPPOST方法从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(。知道为什么吗?

EDIT我发现star.png需要有完整的文件地址。现在POST工作正常,但名称和图像都没有保存到数据库中。将创建一个名称和图像为空的新帖子。知道为什么吗?

为什么在这里使用localhost?

NSURL *url=[[NSURL alloc] initWithString:@"http://localhost:3000/posts"];

使用您的网络服务器ip而不是localhost

NSURL *url=[[NSURL alloc] initWithString:@"http://yourservername:3000/posts"];
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",它是指向您的图像的路径。完整的路径。

相关内容

  • 没有找到相关文章

最新更新