我一直在尝试上传文件(登录.zip)使用 ASIHTTPRequest 库从 iPhone 到 Mac OS X Snow Leopard 中的内置 Apache 服务器。我的代码是:
NSString *urlAddress = [[[NSString alloc] initWithString:self.uploadField.text]autorelease];
NSURL *url = [NSURL URLWithString:urlAddress];
ASIFormDataRequest *request;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"login.zip"];
NSData *data = [[[NSData alloc] initWithContentsOfFile:dataPath] autorelease];
request = [[[ASIFormDataRequest alloc] initWithURL:url] autorelease];
[request setPostValue:@"login.zip" forKey:@"file"];
[request setData:data forKey:@"file"];
[request setUploadProgressDelegate:uploadProgress];
[request setShowAccurateProgress:YES];
[request setDelegate:self];
[request startAsynchronous];
PHP代码是:
<?php $target = "upload/";
$target = $target . basename( $_FILES['uploaded']['name']) ;
$ok=1;
if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target))
{ echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded"; }
else
{ echo "Sorry, there was a problem uploading your file."; } ?>
我不太明白为什么文件没有上传。如果有人能帮助我的话。我已经连续坚持了5天了。
提前致谢
尼克
尝试这个:
[request setFile:filePath forKey:@"file"];
或者如果你可以将 zip 文件放入 NSData 中,如下所示
NSData *zipData = [[NSData alloc] initWithContentsOfFile:zipName];
并将其发送到服务器
[request setData:zip forKey:@"file"];
在服务器上尝试这个
<?php
$dir = "/var/www/your_directory/";
$path = $dir . $_FILES['file']['name'];
//move_uploaded_file($_FILES['file']['tmp_name'], $path);
if(move_uploaded_file($_FILES['file']['tmp_name'], $path)) {
//return ok! :)
}
else {
// return -> echo"There's been a problem uploading your file. Please try again";
}
?>
in $_FILES['file']['name']
the ['file']
必须与forKey:@"file"
在你的要求中
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)