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

    ajax图片上传
      
     
    //获取整个form表单的id;
    var upload = document.getElementById('uploadForm');
    //jquery发送FormData
    var  fb = new FormData(upload);
    
    //如果追加一个
    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
    });
    

      php

    //如果采用二进制流的形式上传图片
    //需要在相应的控制器中获取
    $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); //放入到文件中,现在则是图片啦
     
    //然后 根据自己的需要可以入库。。。。
  • 相关阅读:
    第 3 表格和按钮
    jQuery在线手册
    阮一峰:jQuery的几篇文章
    阮一峰:MVC、MVP和MVVM的图示
    javascript event(事件对象)详解
    图片加 alt 属性
    w3c School
    命名规范
    CSS和JS标签style属性对照表
    css 选择器
  • 原文地址:https://www.cnblogs.com/zhanzy/p/6606017.html
Copyright © 2011-2022 走看看