php - Swift - 将base64编码的图片上传到php并显示图片

标签 php ios mysql swift uiimage

目前,我正在尝试将 base64 编码的图像上传到 php 服务器,然后将 base64 字符串存储在 MySQL 数据库中。目前,代码正在上传数据并将其存储到 MySQL 数据库中。但是,当我尝试通过指定用于检索图像的 URL 来检索图像时,会显示带有问号的缺失图像链接。我不知道为什么会发生这种情况,因为上传和显示 base64 编码图像似乎都可以在我的 Android 应用程序中正常工作。

这是我用来编码并上传到服务器的 Swift 代码:

    let image: UIImage = imgProfilePic.image!

    let size = CGSizeApplyAffineTransform(image.size, CGAffineTransformMakeScale(0.3, 0.3))
    let hasAlpha = false
    let scale: CGFloat = 0.0 // Automatically use scale factor of main screen

    UIGraphicsBeginImageContextWithOptions(size, !hasAlpha, scale)
    image.drawInRect(CGRect(origin: CGPointZero, size: size))

    let scaledImage = UIGraphicsGetImageFromCurrentImageContext()
    UIGraphicsEndImageContext()

    var imageData = UIImageJPEGRepresentation(scaledImage, 0.9)
    var base64String = imageData.base64EncodedStringWithOptions(NSDataBase64EncodingOptions(rawValue: 0)) // encode the image

    var cd = CoreDataUser(pstrContext: "this")

    var params = "strUsername=" + cd.getUsername()
    params = params + "&strPassword=" + cd.getPassword()
    params = params + "&blbProfilePic=" + base64String

这是 base64 字符串被解码并显示在浏览器中的 PHP 代码。这对于由我的 Android 代码上传的图像工作正常,但它只显示由我的 Swift 代码上传的图像的损坏图像链接。

 if ($rows) { 
    foreach ($rows as $row) { 
    $data = base64_decode($row["fblbProfilePic"]);
    $image = imagecreatefromstring($data);
    header('Content-Type: Image/jpeg');
    imagejpeg($image);
//file_put_contents("test.jpg", $data);
//var_dump($data);

    //echo base64_decode($row["fblbPicture"]);
    /    /echo '<img src="data:image/jpg;base64,' . $row["fblbPicture"]     . '" />';
     }

最佳答案

在将它发布到 PHP 服务器之前,我能够通过对 base64 字符串进行百分比编码来实现它。希望这对其他人有帮助。

关于php - Swift - 将base64编码的图片上传到php并显示图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29581333/

相关文章:

mysql - 在mysql中获取工作日字符串而不是数字

php - 作为新手,我应该从哪个版本的 PHP 开始学习?

php - Laravel - 表单验证错误 - 参数 2 必须是数组

C# 和 PHP 使用相同的代码逻辑显示两个不同的计算结果

ios - 如何像 Reminder App 一样在 pin 周围制作可拉伸(stretch)的圆形区域

ios - 在 Xcode 10 中找不到架构 x86_64 的符号(错误)

mysql - 如何用mysql查询结果显示序列号?

php - url 中的未知字符 %252B

javascript - 如何从javaScript中的url(href链接)获取php变量,并在鼠标悬停时生成一个带有传递的php数据的小弹出窗口

ios - iOS 和 Android 设备之间通过 wifi 的消息传递应用程序