function zll_up(click_id,up_url,text_id,show_id){
this.create = function(){}
//当点击指定元素时,创建iframe form input(file)等元素
$("#"+click_id).click(function(){
console.log('click');
$("body").append("<form action='"+up_url+"' method='post' enctype='multipart/form-data' target='iframe_"+click_id+"' style='display:none;' name='form_"+click_id+"' id='form_"+click_id+"'><input type='file' name='tupian_"+click_id+"' id='tupian_"+click_id+"'></form>");
$("body").append("<iframe style='display:none;' name='iframe_"+click_id+"' id='iframe_"+click_id+"'></iframe>"); $('#tupian_'+click_id).change(function(){
console.log('change');
var file = document.getElementById("tupian_"+click_id).files[0];
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function(evt){
$("#"+show_id).html('<img style="width:100%;height:100%;" src="' + evt.target.result + '" />');
}
$("#form_"+click_id).submit();
}); $("#iframe_"+click_id).on("load",function(){
console.log('load');
var data = $(window.frames['iframe_'+click_id].document.body).find("textarea").html();
console.log(data);
$("#"+text_id).val(data);
//当上传完成时删除之前创建的元素
console.log('remove');
$("#iframe_"+click_id).remove();
$("#form_"+click_id).remove();
}); $("#tupian_"+click_id).click();
});
}

js代码

<div class="control-group">
<label class="control-label item-label" >上传图片 (750*1525)<span class="check-tips"></span></label>
<div class="controls uploadrow2" data-max="1" title="点击修改图片" rel="cover" id="upclick">
<input type="hidden" name="img" id="img" value="{$art.img}">
<div class="upload-img-box" rel="img" id="imgshow" style="height:auto;">
<if condition="!empty($art['img'])">
<img src="__UPLOADS__/{$art.img}"/>
</if>
</div>
</div>
</div>
<script type="text/javascript" src="引入上面的js代码"></script>
<script type="text/javascript">
       zll_up("upclick","{:U("$con_name/z_upload")}","img","imgshow");
</script>

html代码

function z_upload(){
//单文件上传
//公用上传函数 zll 2017-6-7 11:35:44
//用于iframe的无刷新上传
$config = array(
'maxSize' => 3145728,
'rootPath' => './Uploads/',
'savePath' => '',
'saveName' => array('uniqid',''),
'exts' => array('jpg', 'gif', 'png', 'jpeg'),
'autoSub' => true,
'subName' => array('date','Ymd'),
);
$upload = new \Think\Upload($config);// 实例化上传类
$info = $upload->upload();
if(!$info) {
// 上传错误提示错误信息
// echo $upload->getError();
echo "<textarea>error</textarea>";
}else{// 上传成功
echo "<textarea>".$info[array_keys($info)[0]]['savepath'].$info[array_keys($info)[0]]['savename']."</textarea>";
}
}

PHP代码(thinkphp3.2.3)

最新文章

  1. Favorites of top 10 rules for success
  2. 利用反射+AOP,封装Basehandler
  3. Eclipse为成员变量设置前缀
  4. virtual box使用
  5. Android菜鸟成长记4-button点击事件
  6. JAVA学习Swing绝对局部简单学习
  7. php实现多任务并发探讨
  8. 转)SSO单点登录在互联网电商应用中的解决方案(基于CAS的改造)
  9. App Store生存指南
  10. SERVERPROPERTY方法说明
  11. VM中装Linux换ISO文件报错&quot;该光盘无法被挂载&quot;
  12. JS总结之二:DOM对象控制HTML
  13. 网络获取的XML的Pull解析
  14. vijos1760题解
  15. 安卓笔记-- popupwindow back键不消失的问题
  16. linux视频录制,推流处理
  17. tomcat7 内存溢出 java.lang.OutOfMemoryError 处理方法
  18. Tcp端口以及端口相关协议详解
  19. 关于Python打包运行的一些思路
  20. Delphi7如何实现让Tedit显示文字垂直居中(上下居中)

热门文章

  1. 【习题 8-12 UVA - 1153】Keep the Customer Satisfied
  2. 【hdu 4289】Control
  3. C++里面virtual函数及虚表大小
  4. lighttpd启动不了,libssl.so.4&amp;amp;libcrypto.so.4 缺失
  5. golang sync.Cond
  6. C#与C++ DLL的交互
  7. 在 Swift 專案中使用 Javascript:編寫一個將 Markdown 轉為 HTML 的編輯器
  8. [D3] Draw a basic US d3-geo map
  9. R语言-有负下标里才干有零
  10. 绝对定位等html结构,水平居中的处理方案