1.

引入文件

<!--图片上传begin-->
<script type="text/javascript" src="/js/jquery.form.js"></script>
<script type="text/javascript" src="/js/uploadImg.js"></script>
<link href="/css/uploadImg.css" rel="stylesheet" type="text/css" />
<!--图片上传end-->

2.html部分

<div class="upimg">
<input name="icon" type="text" class="imgsrc" value="<!--{$contents.icon}-->" />
<div class="showimg">
<!--{if $contents.icon}-->
<img src="<!--{$contents.icon}-->" height="120px">
<!--{/if}-->
</div>
<div class="btn" style="height:20px;">
<span>添加图片</span>
<input class="fileupload" type="file" name="pic[]">
</div>
</div>

3.给fileupload加上表单

/*图片上传*/
$(".fileupload").wrap("<form action='/bookstore/book/uploadpic' method='post' enctype='multipart/form-data'></form>"); //函数处理

4.ajax文件上传

jQuery(function ($) {
$(".fileupload").change(function(){ //选择文件
if ('' === $(this).val()) return;
var upimg = $(this).parent().parent().parent();
var showimg = upimg.find('.showimg');
var btn = upimg.find('.btn span');
var imgsrc = upimg.find('.imgsrc');
$(this).parent().ajaxSubmit({
//dataType: 'json', //数据格式为json
beforeSend: function() { //开始上传
showimg.empty(); //清空显示的图片
imgsrc.val("");
btn.html("上传中..."); //上传按钮显示上传中
},
uploadProgress: function(event, position, total, percentComplete) {
},
success: function(data) { //成功
//获得后台返回的json数据,显示文件名,大小,以及删除按钮
var img = data;
//显示上传后的图片
imgsrc.val("");
imgsrc.val(img);
showimg.html("<img width='120' height='120' src='"+img+"'>");
btn.html("上传成功"); //上传按钮还原
},
error:function(xhr){ //上传失败
btn.html("上传失败");
}
});
});
});

5.后台进行处理

public function uploadpicAction(){ //图片上传和显示
$data = "";
$src = $this->uploadFiles2($imgpath = "/upload/book" ,$filesname = "pic");
isset($src[]['src']) && $src[]['src'] ? $data = $this->concaturl($src[]['src']) : null;
echo $data;
}

6.将返回的数据交给前端,进行一些处理。

进而提交到后台数据库。

最新文章

  1. Ubuntu 12 修改当前用户密码:new password is too simple
  2. openlayers 学习笔记之1
  3. mysql 主从复制 实践
  4. POJ 1182 食物链 (三态种类并查集)
  5. Win2003_IIS+PHP+MYSQL 全能服务器配置
  6. Hex-Rays Decompiler Tips and tricks Volatile memory
  7. win7上帝模式
  8. JFinalo操作框架racle数据库
  9. WebApi(三)-属性路由 自定义访问路径
  10. 如何自定义UIPickerView中文本的大小和文本靠左或靠右显示?
  11. http协议与web本质
  12. C语言实现修改文本文件中的特定行
  13. VMware安装ubuntu,通过/mnt/hgfs 挂载共享Windows系统文件夹
  14. Python学习笔记——基础篇【第五周】——算法(4*4的2维数组和冒泡排序)、时间复杂度
  15. 14.MySQL(二)
  16. Oracle中rownum的说明及使用技巧
  17. 记一次Dynamic Batching不生效的爬坑实例分析[Unity]
  18. java基础 易忘易混点复习1
  19. java 处理上传exl数据 并导入数据库
  20. synchronized锁住的是代码还是对象

热门文章

  1. 使用TypeScript拓展你自己的VSCode
  2. mysql数据库优化课程---9、php用什么写的
  3. java中的char类型所占空间
  4. yii定时任务(linux)
  5. 初试Orchard Core CMS
  6. UnsupportedOperationException
  7. IOS-环信
  8. UI- UINavigationController UITabBarController 使用总结
  9. 用同步的方式执行jQuery异步动画
  10. mysql&#160;int(3)与int(11)的区别