zoukankan      html  css  js  c++  java
  • 二进制流 及 ajax图片上传

    ajax图片上传
    var upload = document.getElementById('uploadForm'); //获取整个form表单的id;
    var fb = new FormData(upload); //jquery发送FormData
    //如果追加一个
    fb.append('demo','this is a demo');
    $.ajax({
    url: "?r=weather/img",
    type: "POST",
    data: image,
    dataType: 'json', //以jsonp类型返回
    processData: false, //告诉jquery不要发送数据
    contentType: false, //不要射中content-type
    });
    如果采用二进制流的形式上传图片
    需要在相应的控制器中获取
    $tmp_name = $_FILES['img']['tmp_name'];
    然后采用
    $path = file_get_contents($tmp_name); //获取临时文件的路径,并解析称为字符串的形式
    //为了安全起见,对路径进行加密
    $image = base64_encode($path);
     
    在file_get_contens 和 base64_encode 之间 可能会丢失一些数据 ,
    所以在base64_decode之前 要进行匹配 ,要不然会导致数据不正确
    主要解决为 $path = str_replace (' ','+',$image);
     
    //如果在另一个方法中使用,应
    $image = base64_decode($path); 解密
    另外,需要
    file_put_contents('./123.png',$image); //放入到文件中,现在则是图片啦
     
    //然后 根据自己的需要可以入库。。。。
  • 相关阅读:
    SPI传输协议笔记
    Linux power supply class
    linux ramdisk 参数问题
    Android事件处理过程分析
    PWM 参数计算
    6.828 lab3
    6.828 lab1
    i.MX53 上电启动过程
    linux jiffies的比较
    在arm板上安装Debian
  • 原文地址:https://www.cnblogs.com/zhanghuilong/p/6496609.html
Copyright © 2011-2022 走看看