• PHP POST接收处理 IOS上传NSData图片数据,上传图片到服务器


    【IOS 接收PHP 图片】

    1,PHP将图片的URL直接返回给IOS端即可,IOS获取到URL处理,下载缓存就可以在APP端使用了。

    【IOS上传图片PHP接收】

    1、IOS上传图片可能有很多方法,今天作者我用了这种方法,通过IOS 提交NSData 数据,PHP接收并且处理后生成图片。

    很多人会问,NSData 传过来是这样的:

    1
    <ffd8ffe0 00104a46 49460001>

    那么问题来了:这是什么数据类型?

    答:”我开始也这么问,但是经过我查询了1天的资料,了解,他是16进制的编码,其实编程人员一看就知道。0-F,16进制编码,

    但是我有点不太肯定,所以还是想去确认一下。搜索了1天的资料后,终于认同了。16进制的“

    2、16进制,我们是不能直接写成图片的?

    对啊,我们得将16进制转换成二进制,才能够写出去,再途中,不要复制出来。因为数据类型一旦复制到了TXT中。再进行,就有可能出错。编码这个问题。我是比较烦。

    3、我们需要的就是查询自己语言16进制转成二进制的方法。

    PHP中。有个方法。可以转成我们需要的二进制。方法详细查询去W3C pack()函数详细说明 

    1
     $byte=pack("H*",$byte);

     然后通过PHP写出文件就可以了。保存格式肯定是"png  jpg 等图片格式";

    注意:

    1
    <ffd8ffe0 00104a46 49460001>

    这个是NSData,  我们需要处理成:ffd8ffe000104a4649460001  然后进行转码

    1
    2
    3
    4
    5
    6
    7
    8
    9
         header("Content-Type: application/octet-stream");
         $byte=$_POST['test'];
        
         $byte = str_replace(' ','',$byte);   //处理数据 
         $byte = str_ireplace("<",'',$byte);
         $byte = str_ireplace(">",'',$byte);
         $byte=pack("H*",$byte);      //16进制转换成二进制
         
         PublicClass::CacheData('','/upload/',$byte,'.jpg');//写入文件中!
  • 相关阅读:
    三行代码搞定微信登录集成
    iptables命令
    Linux(centos)系统各个目录的作用详解 推荐
    Linux下Apache服务的查看和启动
    Linux使用退格键时出现^H ^?解决方法
    小程序:最难点For的wx:key
    linux 通过wol远程开机【转】
    linux wake on lan功能通过ethtool配置【转】
    设计模式小议:state【转】
    TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute【转】
  • 原文地址:https://www.cnblogs.com/wuhaonihao/p/4939612.html
Copyright © 2020-2023  润新知