获取UIImage,将其转换为多部分图像字符串,并将其写入文本文件iOS

获取UIImage,将其转换为多部分图像字符串,并将其写入文本文件iOS,ios,objective-c,uiimage,Ios,Objective C,Uiimage,我需要做以下工作: 将UIImage转换为字节数组 使用multipart获取字符串并将该字符串写入文本文件 调用API,其中包含该文本文件和剩余服务 参数(请求)必须上载到服务器 我试过了,但是我无法获得应该写入文本文件的多部分字符串 我是一个初学者,如果有人能向我推荐一种获取多部分图像字符串的方法,我将非常感谢 提前谢谢 使用下面的方法可以将数据写入文件:我在控制台中有打印写入路径的路径,通过finder->goto finder检查写入的文件,注意您的图像url是否为HTTP前缀,如果是,

我需要做以下工作:

  • 将UIImage转换为字节数组
  • 使用multipart获取字符串并将该字符串写入文本文件
  • 调用API,其中包含该文本文件和剩余服务 参数(请求)必须上载到服务器
  • 我试过了,但是我无法获得应该写入文本文件的多部分字符串

    我是一个初学者,如果有人能向我推荐一种获取多部分图像字符串的方法,我将非常感谢


    提前谢谢

    使用下面的方法可以将
    数据
    写入文件:我在控制台中有
    打印
    写入路径的路径,通过
    finder->goto finder检查写入的文件
    ,注意您的图像url是否为
    HTTP
    前缀,如果是,请在
    Info.plist
    中设置
    应用程序传输安全设置

    目标-c
    中:

    NSURLSession *session = [NSURLSession sharedSession];
    NSURL *url = [NSURL URLWithString:@"https://sf-sponsor.b0.upaiyun.com/45751d8fcd71e4a16c218e0daa265704.png"];  // if http:please set `App Transport Security Settings` in your Info.plist
    
    NSURLSessionTask *task = [session dataTaskWithURL:url
                                    completionHandler:^(NSData *data, NSURLResponse *response, NSError* error) {
    
    
                                        NSLog(@"%@", [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:nil]);
    
                                        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, true);
                                        NSString *documentsDirectory = paths[0];
                                        NSLog(@"%@", documentsDirectory);
                                        NSFileManager * fm = [NSFileManager defaultManager];
    
                                        BOOL ifsucess = [fm createFileAtPath:[NSString stringWithFormat:@"%@/file.data", documentsDirectory] contents:data attributes:nil];
    
                                        if (ifsucess) {
    
                                            // success
                                        }else {
    
                                            // fail
                                        }
    
    
    
                                    }];
    
    [task resume];
    
    swift
    中:

        /* swift */
    
        let path:String = "https://sf-sponsor.b0.upaiyun.com/45751d8fcd71e4a16c218e0daa265704.png"  // if http:please set `App Transport Security Settings` in your Info.plist
        let url:NSURL = NSURL.init(string: path)!
        let request = URLRequest.init(url: url as URL)
    
        let task = URLSession.shared.dataTask(with: request as URLRequest){ data, response, error in
    
            let paths:NSArray = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true) as NSArray
            let documentsDirectory = paths.object(at: 0)
            print(documentsDirectory)
            //let appFile = "\(documentsDirectory)/MyFile.text"  //
    
            if let dir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first {
    
                let path = dir.appendingPathComponent("file.data")
    
                do {
                    try data?.write(to: path, options: NSData.WritingOptions.atomic)
                }
                catch {/* error handling here */}
    
            }
    
        }
    
        task.resume()
    

    尝试使用多部分发送请求。请添加您尝试过的代码,但它不起作用。我正在尝试上面的链接,但没有获得应该使用的url,我拥有的url是用于完整请求的…如何将UIImage单独转换为多部分文件?然后上传该文件和完整的请求参数,您正在从远程URL下载图像并将其保存为documents dir中的.data文件?请添加您的理由,说明为什么它适用于OPs明确不同的要求,为什么OPs不应该使用多部分post请求?