异步上传图片

企业级开发,经常遇到图片上传的功能,表单提交不支持文件上传的,

必须form表单上声明是method="post" enctype="multipart/form-data"。


在项目中遇到后台检验用户名,标题,或者密码之类的是否存在,那么,采用异步上传图片

1.通过ajax异步上传图片到服务器,回调图片的url路径

2.把图片的url路径通过赋值给隐藏的input框或者div,span

3.全部提交表单,ajax提交需要序列化表单


<form name="bannerForm" id="frm_add"
action="${ctx}/contentManage/bannerManage.do?method=save" method="post" enctype="multipart/form-data" >

<div class="input_div">
<label><em style="color:red">*</em>banner图片</label>
<div class=" fileinput fileinput-new" data-provides="fileinput">
<div class="avatar fileinput-preview fileinput-exists thumbnail">
<div id="localImag">
<c:if test="${model.url != null}">
<img src="${model.url}" οnerrοr="imgonload(this,'${url}');" id="Image" name="model.url" >
</c:if>
</div>
</div>
<input οnchange="previewFile()" type="file" id="selImage" name="matFile" accept="image/gif,image/jpeg,image/jpg,image/png,image/bmp"/>
<input type="hidden" id="imageurl" name="url" value="<%=request.getAttribute("url")%>">
</div>
---------------------------------------异步提交-------------------------------------------






if($("#selImage").val()!=""){
if (!fileUploadValid("selImage",2)) {
return ;
}
$("#frm_add").ajaxSubmit({
type:'post',
url:'${ctx}/file/fileUpload.do',
// url:'${ctx}/contentManage/bannerManage.do?method=ajaxImage',
success:function(data){
var v= JSON.parse(data).message;
if(v!="Fail"){
$('#cover').val(v);
$.ajax({
url :"${ctx}/contentManage/bannerManage.do?method=save",
data:$("#frm_add").serialize(),
type:'post',
dataType:'text',
success:function(result){
if(result != 'fail'){
alert('保存成功');
document.location.href = "${ctx}/contentManage/bannerManage.do?method=list";
return true;
   }else{
    alert('banner标题重复,请重新命名');
    doucment.getElementById("reTitle").value = "请重新输入标题";
    return false;  
   }
},
error:function(){
alert('网络不好,保存失败!');
return false;
}
})
}
else {
alert('图片上传失败');
return false;
}

},
error:function(){
alert('图片上传失败!');
}
});
}else{
// $("#frm_add").submit();
// document.location.href = "${ctx}/contentManage/bannerManage.do?method=list";
$.ajax({
url :"${ctx}/contentManage/bannerManage.do?method=save",
data:$("#frm_add").serialize(),
type:'post',
dataType:'text',
success:function(result){
if(result != 'fail'){
alert('保存成功');
document.location.href = "${ctx}/contentManage/bannerManage.do?method=list";
return true;
   }else{
    alert('banner标题重复,请重新命名');
    doucment.getElementById("reTitle").value = "请重新输入标题";
    return false;  
   }
},
error:function(){
alert('网络不好,保存失败!');
return false;
}
});
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TinyMCE是一个功能强大的富文本编辑器,它能够轻松实现图片的异步上。要实现这个功能,你可以按照以下步骤进行: 1. 首先,确保你已经在网页中引入了TinyMCE编辑器的库文件。 2. 在页面中创建一个HTML的textarea元素,并将其id设置为"myTextarea"(也可以自定义其他id)。 3. 使用JavaScript代码初始化TinyMCE编辑器,同时配置相应的设置和选项。其中,你需要在设置中添加一个自定义的图片回调函数。例如: ```javascript tinymce.init({ selector: '#myTextarea', plugins: 'image', toolbar: 'image', file_picker_callback: function(callback, value, meta) { // 在这里编写图片的异步处理逻辑 } }); ``` 4. 在图片回调函数中,你可以使用AJAX或其他HTTP请求方法将图片异步上至服务器。这需要你根据具体的后端语言来处理上请求并将图片保存到服务器上的指定位置。上成功后,你需要将图片的URL回给TinyMCE编辑器,以供其插入到编辑器中。 以下是一个示例的上回调函数,假设你使用了jQuery库来简化AJAX请求的操作: ```javascript file_picker_callback: function(callback, value, meta) { // 打开一个自定义的图片选择框 // ... // 当用户选择图片后,调用以下回调函数 var fileInput = document.getElementById('fileInput'); // 假设你的图片选择框的id是"fileInput" var file = fileInput.files[0]; // 获取用户选择的图片文件 // 使用AJAX将图片至服务器 var formData = new FormData(); formData.append('image', file); $.ajax({ url: 'upload.php', // 上图片的后端处理脚本 type: 'POST', data: formData, processData: false, contentType: false, success: function(data) { // 上成功后 var imageUrl = data.imageUrl; // 假设服务器返回的上成功后的图片URL存在data.imageUrl中 // 将图片URL递给回调函数,以便TinyMCE插入图片 callback(imageUrl, { alt: '' }); } }); } ``` 使用以上步骤,你就可以在TinyMCE编辑器中实现图片的异步上。当用户选择图片并上成功后,图片将被插入到编辑器的当前光标位置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值