Asihttprequest上传文件到 appache服务器,脚本语言php(服务器端),客户端iphone oc

用于存储上传文件的服务器端php脚本:upload_file.php

<?php
    
    if ($_FILES["file"]["error"] > 0)
    {
        echo "Error: " . $_FILES["file"]["error"] . "<br />";
    }
    else
    {
        echo "Upload: " . $_FILES["file"]["name"] . "<br />";
        echo "Type: " . $_FILES["file"]["type"] . "<br />";
        echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
        echo "Stored in: " . $_FILES["file"]["tmp_name"];
    }
    move_uploaded_file($_FILES["file"]["tmp_name"],
                       "./" . $_FILES["file"]["name"]);//将上传的文件存储到服务器
    //echo "Stored in: " . "upload/" . $_FILES["file"]["name"];

?>

 注:"file"为客户端上传文件时,输入的key值,具体指的是什么看下面代码:

iphone客户端代码:


   NSURL *url = [NSURL URLWithString:WEB_SERVICES_URL];
    ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url];
    [request setFile:@"/Users/mac/Desktop/Zwoptex.app/Contents/Info.plist" forKey:@"file"];
    [request setDelegate:self];
    [request startAsynchronous];

注:WEB_SERVICES_URL为服务器端脚本的地址比如:http:localhost:8888:/MAMP/upload_file.php

      setfile的第一个参数为为客户端上传到服务端的文件,注意必须是全路径(我有疑惑),但在mac 下必须是全路径的,否则不会访问网络,更别提上传文件了

其实就这么简单

客户端第二个方法:该方法不需要使用绝对路径

   [request setData:UIImagePNGRepresentation([UIImage imageNamed:@"test.jpg"]) withFileName:@"test.jpg" andContentType:@"image/jpg" forKey:@"file"];


文件的下载:

 NSURL *url = [NSURL URLWithString:kCONTACT_PLIST_URL];
    ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
    [request setDownloadDestinationPath:[PlistManager sharedInstance].contactFilePath];
    
    [request startSynchronous];

注:kCONTACT_PLIST_URL:为网络资源的地址

       [PlistManager sharedInstance].contactFilePath:为客户端存储下载文件的路径


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值