【问题标题】:How to upload file to server?如何将文件上传到服务器?
【发布时间】:2017-04-25 17:22:31
【问题描述】:

我正在尝试将图像上传到服务器,但总是从服务器收到错误。

标题。

内容类型:multipart/form-data;边界=---边界

身体

-----边界

内容配置:表单数据;名称=“文件”;文件名="pic.jpg"

内容类型:图片/jpeg

内容传输编码:base64

/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAABAAEDASIA AhEBAxEB/8QAFQABAQAAAAAAAAAAAAAAAAAAAAAAf/xAAUEAEAAAAAAAAAAAAAAAAAAAAA/8QAFAEB AAAAAAAAAAAAAAAAAAAAAAP/EABQRAQAAAAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhEDEQA/AL+AD//Z -----边界

我使用下面的代码

-(NSString *)uploadFileToServer:(NSString *)fileName fileData:(NSData *)file1Data
{
NSString *urlString =url.
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init];
[request setURL:[NSURL URLWithString:urlString]];
[request setHTTPMethod:@"POST"];
NSString *boundary = @"---BOUNDARY";
NSString *contentType = [NSString stringWithFormat:@"multipart/form-data; boundary=%@",boundary];
[request addValue:contentType forHTTPHeaderField: @"Content-Type"];
NSMutableData *body = [NSMutableData data];
NSString *header = [NSString stringWithFormat:@"Content-Disposition: form-data; name=\"%@\"; filename=\"%@\"\r\n",@"file",@"pic.jpg"];
[body appendData:[[NSString stringWithFormat:@"\r\n–%@\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[[NSString stringWithString:header] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[NSData dataWithData:file1Data]];
[body appendData:[[NSString stringWithFormat:@"\r\n–%@–\r\n",boundary] dataUsingEncoding:NSUTF8StringEncoding]];
[body appendData:[@"Content-Type: image/jpeg\r\n\r\n" dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:body];
NSData *returnData = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
NSString *returnString = [[NSString alloc] initWithData:returnData encoding:NSUTF8StringEncoding] ;
return returnString;
}

回应

"details": {

    "errors": {

      "file": "is required"
    }
  },
  "error": "Invalid files",

  "error_code": 4,

  "exc_class": "FAPIValidationError",

  "rc": false

【问题讨论】:

  • 如果你知道afnetworking那么请用这个上传文件
  • 其实我有一个代码是swift2.3
  • 感谢您的回复,您能告诉我哪部分代码有问题吗?
  • 这些链接你都试过了吗:google.co.in/…

标签: ios objective-c iphone


【解决方案1】:

你试过使用 alamofire 吗?

Alamofire.upload(multipartFormData: { (multipartFormData) in
// put your data to multipart here                        
}, to: url) { (result) in

    switch result {
    case .success(let upload, _, _):

    upload.responseJSON { response in

        switch response.result {
        case .success(let json):
        break:    
        case .failure(_):
        break:    
        }
    }
    case .failure(_):
    break:
    }
}

【讨论】:

    猜你喜欢
    • 2011-09-25
    • 2020-03-17
    • 2014-10-17
    • 1970-01-01
    • 1970-01-01
    • 2022-11-10
    • 2020-01-30
    • 2019-05-24
    • 2010-12-03
    相关资源
    最近更新 更多