Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用RESTAPI快速上传图像_Php_Ios_Swift_Laravel - Fatal编程技术网

Php 使用RESTAPI快速上传图像

Php 使用RESTAPI快速上传图像,php,ios,swift,laravel,Php,Ios,Swift,Laravel,我尝试使用RESTAPI将UIImage上载到Web服务器,但出现了500个错误。swift代码或php代码是否有问题?我在Web服务器上找不到任何错误 func UploadRequest(image: UIImage) { let url = NSURL(string: "https://server-to-upload-file.com") let request = NSMutableURLRequest(url: url! as URL)

我尝试使用RESTAPI将UIImage上载到Web服务器,但出现了500个错误。swift代码或php代码是否有问题?我在Web服务器上找不到任何错误

func UploadRequest(image: UIImage)
    {
        let url = NSURL(string: "https://server-to-upload-file.com")

        let request = NSMutableURLRequest(url: url! as URL)
        request.httpMethod = "POST"

        let boundary = generateBoundaryString()

        //define the multipart request type

        request.setValue("multipart/form-data; boundary=\(boundary)", forHTTPHeaderField: "Content-Type")

        if (image == nil)
        {
            return
        }

        let image_data = UIImageJPEGRepresentation(image, 1)


        if(image_data == nil)
        {
            return
        }


        let body = NSMutableData()

        let fname = "test.png"
        let mimetype = "image/png"

        //define the data post parameter

        body.append("--\(boundary)\r\n".data(using: String.Encoding.utf8)!)
        body.append("Content-Disposition:form-data; name=\"test\"\r\n\r\n".data(using: String.Encoding.utf8)!)
        body.append("hi\r\n".data(using: String.Encoding.utf8)!)



        body.append("--\(boundary)\r\n".data(using: String.Encoding.utf8)!)
        body.append("Content-Disposition:form-data; name=\"file\"; filename=\"\(fname)\"\r\n".data(using: String.Encoding.utf8)!)
        body.append("Content-Type: \(mimetype)\r\n\r\n".data(using: String.Encoding.utf8)!)
        body.append(image_data!)
        body.append("\r\n".data(using: String.Encoding.utf8)!)


        body.append("--\(boundary)--\r\n".data(using: String.Encoding.utf8)!)



        request.httpBody = body as Data



        let session = URLSession.shared


        let task = session.dataTask(with: request as URLRequest) {
            (
            data, response, error) in

            guard let _:NSData = data as NSData?, let _:URLResponse = response  , error == nil else {
                print("error")
                return
            }

            let dataString = NSString(data: data!, encoding: String.Encoding.utf8.rawValue)
            print(dataString)

        }

        task.resume()


    }


    func generateBoundaryString() -> String
    {
        return "Boundary-\(NSUUID().uuidString)"
    }

错误代码500是服务器错误。基本上,服务器代码中的任何异常都会生成此代码。 我想说的是,您的服务器代码可能是正确的,并且由于从iOS设备发送的数据错误而崩溃,或者您发送的数据格式正确,但您的服务器没有正确接收数据


您应该阅读服务器的错误日志以了解更多信息。

错误代码500是服务器错误。基本上,服务器代码中的任何异常都会生成此代码。 我想说的是,您的服务器代码可能是正确的,并且由于从iOS设备发送的数据错误而崩溃,或者您发送的数据格式正确,但您的服务器没有正确接收数据


您应该阅读服务器的错误日志以了解更多信息。

500错误通常是特定的服务器错误,因此那里发生了一些事情。后端发生错误,因此最好从找出错误并从那里向后工作开始。500个错误通常是服务器错误,因此那里发生了一些事情。后端发生错误,因此最好从找出错误并从那里向后工作开始。