我想从我的iPhone应用程序上传一个音频文件到网络服务器,但是当我将它转换成NSData的时候,它将花费30到40分钟的时间进行转换,所以你能为它提供更好的解决方案吗?如何在iPhone上的网络服务器上传一个mp3文件达到5 MB大小
回答
1)。为了音频文件转换为NSData的:
NSString *audioFilePath = @""; // local path where audio stored
NSData *audioData = [[NSData alloc] initWithContentsOfFile:audioFilePath];
2)。为了上传音频文件:
NSString *audioName = @"myAudio.caf";
ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:[NSURL URLWithString:@"http://someurl.aspx"]];
[request addData:audioData withFileName:audioName andContentType:@"audio/caf" forKey:@"audioFile"];
[request setDelegate:self];
[request setTimeOutSeconds:500];
[request setDidFinishSelector:@selector(uploadRequestFinished:)];
[request setDidFailSelector:@selector(uploadRequestFailed:)];
[request startAsynchronous];
- (void)uploadRequestFinished:(ASIHTTPRequest *)request
{
UIApplication* app = [UIApplication sharedApplication];
app.networkActivityIndicatorVisible = NO;
NSData *webData = [[NSData alloc] initWithData:[request responseData]];
NSString *strEr = [[NSString alloc] initWithData:webData encoding:NSUTF8StringEncoding];
}
- (void) uploadRequestFailed:(ASIHTTPRequest *)request
{
NSLog(@"responseStatusCode %i",[request responseStatusCode]);
NSLog(@"responseString %@",[request responseString]);
NSError *error = [request error];
UIApplication* app = [UIApplication sharedApplication];
app.networkActivityIndicatorVisible = NO;
}
感谢您的支持。但我正在使用xcode 4.2和IOS 5,并且我正面临着大量文件丢失或框架问题。你可以附上源代码zip文件吗? – SKMAISM 2012-08-08 11:10:41
上面的代码与Xcode 4.2和IOS 5完美配合。你可能没有ASIHTTP帮助文件,你可以从https://github.com/pokeb/asi-http-request/tree下载它。 – 2012-08-08 11:18:56
感谢您的回复和支持。但是,当我通过您的代码将音频文件转换为NSData时,它再次需要很长时间才能转换。除了nsdata之外,还有其他的备用服务器可以快速发送iur音频文件到服务器上。 – SKMAISM 2012-08-08 12:30:10
- 1. 上传大文件到网络服务
- 2. 如何从Android上传大文件到网络服务器
- 3. 将视频文件上传到iphone中的网络服务器
- 4. 从iPhone上传文件到网络服务器
- 5. iPhone UIImage上传到网络服务
- 6. 将大文件上传到NodeJS网络服务器
- 7. 如何将音频从iPhone上传到网络服务器?
- 8. 如何在vb.net上将文件上传到我的网络服务器?
- 9. 如何将文件从iPad上传到网络服务器(上传servlet)
- 10. 上传文件(S)在Silverlight到网络服务器(C#)
- 11. 从本地网络服务器在BlackBerry上流式传输MP3
- 12. 如何从诺基亚95上传大文件到网络服务器?
- 13. 如何使用phonegap将mp3文件上传到服务器(xxampp)。
- 14. 上传图片到网络服务器
- 15. 从iPhone到服务器的最大上传大小
- 16. Xcode上传一个plist文件在服务器上(iPhone)
- 17. 在iOS中将HTML文件上传到网络服务器
- 18. 无法上传大小超过1MB的文件 - PHP网络服务器
- 19. 自动登录并上传文件到网络服务器
- 20. PhoneGap的文件传输腐化.MP3上传到服务器
- 21. 无法从网络服务器(OTA)下载上传的文件
- 22. 在linux服务器上更改文件上传大小
- 23. 如何在网络客户端上从网络服务器上创建文件
- 24. 上传图片/照片从iPhone到网络服务器(ASP.net)
- 25. 上传照片从iPhone到网络服务器
- 26. 将XAMPP子文件夹上传到网络服务器
- 27. 黑莓上传文件到网络服务器
- 28. 从Android SD卡上传文件到网络服务器
- 29. 确保所有文件都上传到网络服务器
- 30. 将3gpp文件上传到网络服务器
那是什么,你要上传的音频文件的大小?我约谈话。 22MB的音频文件到NSData,并没有花费这么大的时间进行转换。请发布您的转换代码。 – 2012-08-08 10:15:28
NSString * file1 = [[NSBundle mainBundle] pathForResource:@“background”ofType:@“mp3”]; NSData * file1Data = [[NSData alloc] initWithContentsOfFile:file1]; background.mp3文件的大小仅为4.2 mb,转换时间大约需要30到40分钟。 – SKMAISM 2012-08-08 10:26:03