Objective c Xcode将文件(图像)上载到FTP站点
我想上传一个文件,一张图片到一个网站。我已经阅读了苹果公司的SimpleFTPSample。这是一个测试照片的工作,但它太复杂了。有人可以发布一个简单的代码,我可以把我的URL放在里面吗?我用过Blackracoon和AsitpRequest,但不起作用。Objective c Xcode将文件(图像)上载到FTP站点,objective-c,xcode,ftp,Objective C,Xcode,Ftp,我想上传一个文件,一张图片到一个网站。我已经阅读了苹果公司的SimpleFTPSample。这是一个测试照片的工作,但它太复杂了。有人可以发布一个简单的代码,我可以把我的URL放在里面吗?我用过Blackracoon和AsitpRequest,但不起作用。 谢谢对我来说最简单的方法就是编写一个小的php脚本并将文件上传到该脚本。php没有那么复杂,但它可以工作 请确保将URL替换为您的站点名称 upload.php <?php $uploaddir = 'Images/'; $file =
谢谢对我来说最简单的方法就是编写一个小的php脚本并将文件上传到该脚本。php没有那么复杂,但它可以工作 请确保将URL替换为您的站点名称 upload.php
<?php
$uploaddir = 'Images/';
$file = basename($_FILES['userfile']['name']);
$uploadfile = $uploaddir . $file;
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "transfer successful at: http://YOURWEBSITE.COM/{$uploaddir}/{$file}";
}
?>
谢谢但我使用nas作为服务器。我不会使用PHP。Sry,你还有其他想法吗?我记得当我尝试只使用objective-c时,它不起作用,这就是为什么我必须使用php sript的原因。您仍然可以使用objective-c代码,但可以使用其他服务器脚本来替换php,以便上载与您的系统兼容的文件。谢谢。苹果的代码可以工作,但我无法理解代码:有人知道不同的解决方案吗?苹果的代码似乎是将图像转换成二进制数据对象,然后以图像数据作为主体以http post的形式提交给php。只要用您可以在系统上使用的任何REST服务替换php即可。您可以使用几乎任何语言来实现这一点
NSString *imageString = [NSString stringWithFormat:@"Content-Disposition: form-data; name=\"userfile\"; filename=\"%@\"\r\n", YOURIMAGE];
NSData *imageData = UIImageJPEGRepresentation(newimageGlobal, 0.4);
NSString *urlString = @"http://YOURWEBSITE.COM/upload.php";
NSLog(@"upload url%@", urlString);
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];
NSString *boundary = [NSString stringWithString:@"-------------------------- -14737809831466499882746641449"];
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];
NSMutableData *body = [NSMutableData data];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:imageString ] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:@"Content-Type: application/octet- stream\r\n\r\n"] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:imageData]];
[body appendData:[[NSString stringWithFormat:@"\r\n--%@--\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:body];
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding];