我們想用NSURLSession上傳。 下面是代碼在目標C端:使用[defaultSession uploadTaskWithRequest:request fromFile:fileURL]上傳的文件;不在服務器端上傳文件
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:@"uploadFileServer"];
NSString *[email protected]"testing.jpg";
image_name=[fileDest stringByAppendingPathComponent:image_name];
NSMutableURLRequest *request =[[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:urlString]];
NSString *boundary = @"14737809831466499882746641449";
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];;
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];
[request setHTTPMethod:@"PUT"];
NSURLSession *defaultSession= [NSURLSession sessionWithConfiguration:configuration delegate:self delegateQueue:
[NSOperationQueue new]];
NSURL *fileURL =[NSURL fileURLWithPath:image_name];
NSURLSessionUploadTask *uploadTask = [defaultSession uploadTaskWithRequest:request fromFile:fileURL];
[uploadTask resume];
在服務器端的文件沒有收到。 下面是在服務器端代碼:
<?php
$body = '';
$fh = @fopen('php://input', 'r');
if ($fh)
{
while (!feof($fh))
{
$s = fread($fh, 1024);
if (is_string($s))
{
$body .= $s;
}
}
fclose($fh);
}
?>
如果我們上傳文件的數據,它工作正常,但對我的要求我必須使用方法 上傳文件的背景 - (NSURLSessionUploadTask *)uploadTaskWithRequest:(的NSURLRequest *)要求fromFile:(NSURL *)fileURL;
請指導我們。
回覆:「如果我們上傳文件的數據,它工作正常」。你什麼意思?你能提供可以正常工作的代碼嗎? – Avt
如果我使用以下方法上傳圖像數據,那麼它工作正常。 NSURLSessionUploadTask * uploadTask = [defaultSession uploadTaskWithRequest:request fromData:imageData]; fromData:爲imageData]; –
有什麼想法?從服務器端的php代碼似乎有問題。 –