【问题标题】:Uploading an mp3 to my (php based) web server from an iPhone app从 iPhone 应用程序将 mp3 上传到我的(基于 php 的)Web 服务器
【发布时间】:2011-07-06 09:57:39
【问题描述】:

我希望将 mp3 文件从我的 iPhone 应用程序上传到给定的 php 页面。为此,我找到了 ASIFormDataRequest 类。现在我在我的应用程序中编写了一段代码,如下所示:

NSLog(@"fastBackwardButtonLoosened - sending the stuff");
NSString *theUrl = @"MyServerURL";//Sorry not showing this:)
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:theUrl]];

[request setFile:[soundFileURL absoluteString] forKey:@"mainfile"];
[request startSynchronous];
NSLog(@"The request was sent!!");

但是我不知道如何将指向 mp3 的 NSURL 放入此请求中。我已经尝试了上述方法,但找不到任何可以为我指明正确方向的东西。有什么想法吗?

接收请求的代码是这样的:

$SafeFile = $HTTP_POST_FILES['mainfile']['name'];
$uploaddir = "uploads/";
$path = $uploaddir.$SafeFile;

if($mainfile != none){ //AS LONG AS A FILE WAS SELECTED...

    if(copy($HTTP_POST_FILES['mainfile']['tmp_name'], $path)){ //IF IT HAS BEEN COPIED...
        //Good
    } else {
        //Bad
    }
}

【问题讨论】:

  • 要上传的mp3是iphone本地文件吗?
  • 是的,它将位于 iphone 本身。

标签: php objective-c asihttprequest


【解决方案1】:

这里:

[request setFile:[soundFileURL absoluteString] forKey:@"mainfile"];

我认为您应该使用[soundFileURL path] 而不是[soundFileURL absoluteString],因为[request setFile:] 需要的是文件路径,而不是完整的URL。

【讨论】:

  • 这似乎对某些人有所帮助,因为发送请求需要更长的时间(可能是因为大文件),但它仍然不会将其复制到应有的 uploads/ 文件夹中。 . 似乎 $SafeFile 在 php 代码中的第一个 if 语句之前是空的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-06-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多