iOS通过ASP将图像上传到服务器

时间:2013-08-05 15:31:44

标签: ios file-upload asp-classic

我正在尝试在pure ASP中构建一个后端来处理图片上传并遇到一些困难。我发现这个file upload class通过表单工作。代码工作得很好,但剥离表单元素,只是通过POST传递文件路径似乎是一个糟糕的方法。我一直在尝试通过FTP在asp中找到上传文件,但没有找到太多信息。

通过ASP安全可靠地将图片从iOS上传到服务器的任何想法或替代方案?

1 个答案:

答案 0 :(得分:1)

如果您希望将图片作为请求正文的一部分传递,那么这很容易做到。

在iOS中,您可以设置request.HTTPBody = <your data here>,在ASP中,您可以使用Request.BinaryRead(Request.TotalBytes)读取正文。出于性能原因,您可能希望将二进制读取分解为文件的较小部分,但这是基本文件解析。

如果要传递其他参数,则需要更多工作,因为NSURLRequest和经典ASP都不了解多部分请求。你在文件上传类的正确轨道上,因为它将在服务器端处理multipart。对于客户端,我建议使用像AFNetworking这样的框架。从他们的FAQ开始,你可以这样做:

NSData *imageData = UIImagePNGRepresentation(image);
NSURLRequest *request = [client multipartFormRequestWithMethod:@"POST"
        path:@"/upload" parameters:nil 
        constructingBodyWithBlock:^(id <AFMultipartFormData> formData) {

    [formData appendPartWithFileData:imageData name:@"avatar"
            fileName:@"avatar.png" mimeType:@"image/png"];
}];