用JavaScript实现图片上传并预览

文章讲述了如何使用jQuery和Ajax进行前后端通信,包括初始化JqGrid,处理点击事件,以及通过AJAX实现图片上传到Servlet并存储,展示了前端开发中的常见技术操作。
摘要由CSDN通过智能技术生成

jf_initJqgrid();

jf_click();

function jf_initJqgrid(){

$.ajax({

url:“DivisiondefineServlet”,

async:true, //是否为异步请求

cache:false, //是否缓存结果

type:“GET”,

dataType:“json”,

success : function(data){

$(“#gridTable”).jqGrid(“clearGridData”);

for(var i=0;i<=data.length;i++){

$(“#gridTable”).jqGrid(‘addRowData’,i+1,data[i]);

}

}

})

}

$(‘[id^=jqgh_gridTable_]’).css(“height”,“20px”);

function jf_click() {

$(“#add”).click(function () {

$(“#modal-divisionAdd”).divisionAdd({});

})

$(“#edit”).click(function () {

$(“#modal-divisionEdit”).divisionEdit({});

})

$(“#delete”).click(function () {

jf_delete();

jf_initJqgrid();

})

}

function jf_delete() {

$.ajax({

url:“DivisiondefineServlet?action=delete”,

async:true, //是否为异步请求

cache:false, //是否缓存结果

type:“POST”,

dataType:“text”,

data :{

“mark1” : grid_selectRow.mark,

},

})

}

});

2、模块页面

;(function($){

$.fn.pictureLoading = function(options){

var el = this;

var opts = {

}

var param = $.extend(opts,options);

var or = new Order(el, param);

}

var Order = function(el,param){

this.el=el;

this.param=param;

this.orderContent();

this.bindEvent();

this.orderSetValue();

}

Order.prototype = {

orderContent : function(){

//创建模态窗体

this.el.addClass(“modal”).attr(“tabindex”,“-1”).attr(“data-backdrop”,“static”);

html= ‘

’+

’+

‘’+

‘’+

’+

‘’+

×’+

‘’+

‘’+

‘’+

‘’+

‘’+

‘标号’+

’+

‘<input id=“IronMan” type=“file” size=“45” name=“IronMan” class=“avatar input” οnchange="loadfile(); "style=“display:none”;/>’+

‘<img id=“viewImg” class=“viewImg” src=“picture/html.jpg” style=“height: 300px;width: 400px;” =“loadPic();” >’+

‘’+

‘’+

‘’+

’+

’+

‘’+

‘退出’+

‘’+

‘’+

‘’+

‘’+

‘’+

‘’;

this.el.html(“”);

this.el.append(html);

this.el.modal(“show”);

},

orderSetValue : function(){

$(“#mark”).val(grid_selectRow.mark);

$.ajax({

url:“PictureServlet”,

async:true, //是否为异步请求

cache:false, //是否缓存结果

type:“GET”,

dataType:“json”,

data :{

“mark” : $(“#mark”).val()

},

success : function(data){

$(‘#viewImg’).attr(‘src’, “…/…/…/picture/” + data);

},

error:function () {

alert(“error”);

}

})

},

//自定义JS点击事件

bindEvent : function(){

},

}

})(jQuery)

3、ajax实现异步请求

function loadfile(){

var picName = $(“#IronMan”).val().replace(“C:\fakepath”,“”);

$.ajax({

url:“PictureServlet”,

async:true, //是否为异步请求

cache:false, //是否缓存结果

type:“POST”,

dataType:“json”,

data :{

“mark” : $(“#mark”).val(),

“picName”:picName,

},

})

$(‘#viewImg’).attr(‘src’, “…/…/…/picture/” + picName);

}

4、servlet存储并在本地存储图片文件

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException {

System.out.println(“servlet”);

response.setContentType(“text/html”);

request.setCharacterEncoding(“utf-8”);

response.setCharacterEncoding(“utf-8”);

int mark = Integer.parseInt(request.getParameter(“mark”));

String picName = request.getParameter(“picName”);

service.insertPic(mark,picName);

String directory = “E:/GDKJ/others/imooc_pic”;

File file = new File(directory,picName);

if(file.exists()) {

System.out.println(file.getAbsolutePath());

System.out.println(file.getName());

System.out.println(file.length());

} else {

file.getParentFile().mkdirs();

try {

file.createNewFile();

} catch (IOException e) {

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

更多面试题

**《350页前端校招面试题精编解析大全》**内容大纲主要包括 HTML,CSS,前端基础,前端核心,前端进阶,移动端开发,计算机基础,算法与数据结构,项目,职业发展等等

资料获取方式:点击蓝色传送门获取

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!*

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)

更多面试题

**《350页前端校招面试题精编解析大全》**内容大纲主要包括 HTML,CSS,前端基础,前端核心,前端进阶,移动端开发,计算机基础,算法与数据结构,项目,职业发展等等

资料获取方式:点击蓝色传送门获取

[外链图片转存中…(img-It5wuDwd-1712817690887)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值