陈斌彬的技术博客

Stay foolish,stay hungry

iOS 上传图片到 IIS 服务器

iOS 客户端使用 ASIFormDataRequest 或者 MKNetworkEngine 来传递图片。

IOS 你只能上传你自己应用沙盒内的文件。

核心代码:

img

新建 ASP.NET Web 应用程序,项目名称为:RemoteImage

在桌面新建文件夹 RemoteImage,作为待会发布应用时使用。

img

protected void Page_Load(object sender, EventArgs e)
{
    if (Request.Files.Count == 0)
    {
        Response.Write("none file");
    }
    else
    {
        HttpPostedFile file = Request.Files["img"];
        String filename = Request.Form["name"];
        file.SaveAs(MapPath("~/" + filename + ".png"));

        Response.Write("ok");
    }

}

特别提醒:保存图片的路径一点要是虚拟路径~/

修改 Web.config 文件,添加 <customErrors mode = "Off" />

img

在 IIS 中部署 IOSUPLOAD 应用程序时候,要添加用户权限 IIS_IUSRS,不能用 Everyone。同时,要选择完全控制

img

启动测试

如果上传成功,则在 Xcode 中可以看到如下结果:

img

在 RemoteImage 文件夹中可以看到上传来的图片

img