iframe模拟ajax异步请求,上传文件
来源:互联网 发布:身份证淘宝子账号验证 编辑:程序博客网 时间:2024/05/21 21:11
前端页面文件上,写上target,并且要写上enctype="multipart/form-data"才能上传图片
<form class="form-horizontal" role="form" enctype="multipart/form-data" method='post' target='frameFile' action="__URL__/upload/" id="picform" name="picform"> <div class="form-group"> <label class="col-sm-2 control-label" for="form-field-1"> 上传产品图片:</label> <div class="col-sm-4"> <div><input type="file" name="thumb" class="btn btn-warning" onchange="upimg()" id="thumb"></div> <div class="space-4"></div> <!--<div><button class="btn btn-warning">上传</button></div> <div class="space-4"></div>--> <div><img src="" style="width:100px;max-height:300px;display:none;" id="img"/></div> </div> <div class="help-block col-xs-12 col-sm-reset inline"> </div> </div> </form>
<iframe id='frameFile' name='frameFile' style='display: none;'></iframe>
现在需要调用一个回调函数,在这个html页面
function callback(image){ // alert(str); $("#img").attr("src","__ROOT__/Uploads/"+image); $("#img").show(); imgSuccess = true; }
然后往iframe内写入内容,去调用这个父页面的回调函数,在php后台的iframe处理数据的代码内(即action对应的方法内)成功执行其他代码后
echo("<script type=\"text/javascript\">parent.callback('".$_POST['image']."');</script>");
public function upload() { if (!empty($_FILES)) { //如果有文件上传 上传附件 $this->_upload(); } } // 文件上传 protected function _upload() { import('@.ORG.UploadFile'); //导入上传类 $upload = new UploadFile(); //设置上传文件大小 $upload->maxSize = 3292200; //设置上传文件类型 $upload->allowExts = explode(',', 'jpg,gif,png,jpeg'); //设置附件上传目录 $upload->savePath = './Uploads/'; //设置需要生成缩略图,仅对图像文件有效 $upload->thumb = true; // 设置引用图片类库包路径 $upload->imageClassPath = '@.ORG.Image'; //设置需要生成缩略图的文件后缀 $upload->thumbPrefix = 'm_,s_'; //生产2张缩略图 //设置缩略图最大宽度 $upload->thumbMaxWidth = '400,100'; //设置缩略图最大高度 $upload->thumbMaxHeight = '400,100'; //设置上传文件规则 $upload->saveRule = 'uniqid'; //删除原图 $upload->thumbRemoveOrigin = false; if (!$upload->upload()) { //捕获上传异常 $this->error($upload->getErrorMsg()); } else { //取得成功上传的文件信息 $uploadList = $upload->getUploadFileInfo(); import('@.ORG.Image'); //给m_缩略图添加水印, Image::water('原文件名','水印图片地址') // Image::water($uploadList[0]['savepath'] . 'm_' . $uploadList[0]['savename'], __ROOT__.'/App/Tpl/Public/Images/logo.png'); $_POST['image'] = $uploadList[0]['savename']; } $model = M('Img'); //保存当前数据对象 $data['photo'] = $_POST['image']; $_SESSION['image'] = $_POST['image']; // $data['product_model'] = $_POST['product_model']; // $data['stocks'] = $_POST['stocks']; // $data['update_time'] = date('Y-m-d H:i:s',NOW_TIME); $list = $model->add($data); if ($list !== false) { // $this->success('上传图片成功!'); // echo("ss"); echo("<script type=\"text/javascript\">parent.callback('".$_POST['image']."');</script>"); } else { $this->error('上传图片失败!'); } }
0 0
- iframe模拟ajax异步请求,上传文件
- iframe模拟Ajax上传文件
- ajax--iframe模拟ajax文件上传效果
- Iframe仿Ajax异步上传文件(图片)
- iframe模拟Ajax 多文件上传
- ajax+iframe异步上传
- 异步请求之同域名异步文件上传iframe标签
- 异步请求之跨域名异步文件上传iframe标签
- 一个模拟ajax异步上传文件例子
- 小技巧:onchange事件+iframe 模拟异步文件上传
- 利用iframe 异步文件上传
- requests模拟ajax异步请求
- 本地端口模拟ajax异步请求php文件
- ajax异步上传文件
- AJAX异步上传文件
- Ajax异步上传文件
- ajax异步上传文件
- ajax异步上传文件
- 你所不知道的SDK
- 《世界著名心理学家——弗洛伊德》简单读书笔记
- Activity的两个神秘方法onSaveInstanceState() 和 onRestoreInstanceState() .
- [LeetCode] Kth Largest Element in an Array
- 教你写Android网络框架之基本架构
- iframe模拟ajax异步请求,上传文件
- 《How Tomcat Works》读书笔记(四)-容器附加
- android-横竖屏切换总结-布局改变和数据保存
- 教你写Android网络框架之Request、Response类与请求队列
- 程序设计师名言
- 教你写Android网络框架之Http请求的分发与执行
- Android横竖屏切换小结
- Qt实现窗体从虚到实及动画效果
- 跟我一起写 Makefile