2011-07-06 79 views
0

我正在上傳從iPhone應用程序到給定的PHP頁面的MP3文件。爲此,我找到了ASIFormDataRequest類。現在,我在我的應用程序做了一段代碼,像這樣:從iPhone應用程序上傳mp3到我的(基於PHP)Web服務器

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!!"); 

但我無法弄清楚如何把我的NSURL至極點到MP3這一要求內。我已經嘗試了以上,但無法找到任何指向正確方向的東西。任何想法?

接收請求的代碼是像這樣:

$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 
    } 
} 

任何幫助,將不勝感激:)

+0

是否將mp3上傳到iphone上的本地文件? – JosephH

+0

是的,它會位於iphone本身。 – Manuel

回答

1

這裏:

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

我認爲你應該使用[soundFileURL path]代替[soundFileURL absoluteString] ,因爲[request setFile:]需要一個文件路徑,而不是完整的URL。

+0

這似乎有助於一些,因爲它需要更長的時間才能發送請求(可能是因爲大文件),但它仍然不會將它複製到上傳/文件夾,因爲它應該..看起來$ SafeFile是在php代碼中的第一個if語句之前清空。 – Manuel

相關問題