前台页面 上传预览 调用上传服务

Posted 爷的眼睛闪亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前台页面 上传预览 调用上传服务相关的知识,希望对你有一定的参考价值。

function openBrowse(){
var ie=navigator.appName=="Microsoft Internet Explorer" ? true : false;
if(ie){
document.getElementById("file").click();
document.getElementById("filename").value=document.getElementById("file").value;
}else{
var a=document.createEvent("MouseEvents");
a.initEvent("click", true, true);
document.getElementById("file").dispatchEvent(a);
}
}

function setImagePreview() {
if($(‘div[id="localImag"]‘).length>5){
alert("最多只能上传5张图片!");
return;
}
var uploadSrc = "";
$.ajaxFileUpload({
async : false,
url : "${ctx}/xxxx/xxx/xxx",
secureuri : false,
fileElementId :[‘file‘],
dataType : ‘text‘,
success : function(data) {
uploadSrc = $(data).text();
if(uploadSrc == ‘‘ || uploadSrc.indexOf("错误") > -1){
$(‘#pic‘).show();
$(‘#nameImage‘).val(‘‘);
$(‘#preview‘).attr(‘src‘,uploadSrc);
$("#preview").css(‘display‘,‘none‘);
$("#localImag").css(‘display‘,‘none‘);

$(‘#cancelButton‘).hide();
return true;
}else{
$(‘#pic‘).hide();
$("#preview").css(‘display‘,‘block‘);
$("#localImag").css(‘display‘,‘block‘);
$(‘#cancelButton‘).show();
}

var docObj = document.getElementById("file");
var imgObjPreview = document.getElementById("preview");
if (docObj.files && docObj.files[0]) {
//火狐下,直接设img属性
imgObjPreview.style.display = ‘block‘;
imgObjPreview.style.width = ‘200px‘;
imgObjPreview.style.height = ‘150px‘;
//imgObjPreview.src = docObj.files[0].getAsDataURL();
//火狐7以上版本不能用上面的getAsDataURL()方式获取,需要一下方式
imgObjPreview.src = window.URL.createObjectURL(docObj.files[0]);

} else {

//IE下,使用滤镜
docObj.select();
var imgSrc = uploadSrc;
var localImagId = document.getElementById("localImag");
//必须设置初始大小
localImagId.style.width = "200px";
localImagId.style.height = "150px";

//图片异常的捕捉,防止用户修改后缀来伪造图片
try {

$(localImagId).find(‘#preview‘).attr(‘src‘,imgSrc);
$(‘p[name="notShow"]‘).hide();
$(‘p‘).append(localImagId);
$(localImagId).append(‘<input type="hidden" name="picUrl" id="picUrl"/>‘);
$(localImagId).find(‘#picUrl‘).attr(‘value‘,imgSrc);
$(‘input[id="nameImage"]‘).attr(‘value‘,‘‘);
$("#preview").css(‘display‘,‘block‘);
} catch (e) {
alert("您上传的图片格式不正确,请重新选择!");
return false;
}
}

$("#nameImage").val(uploadSrc);
$(‘#nameImage‘).attr("readonly","readonly")//将input元素设置为readonly
},
error : function(data) {
alert(data);
}
});
return true;
}

================================================

<input type=file name="fileUpload" id="file" onchange="javascript:setImagePreview(this);" style="display:none">

<li><label>奖&nbsp;品&nbsp;&nbsp;图:</label>
<form:input id="nameImage" name="nameImage" path="picUrl" htmlEscape="false" maxlength="500" readonly="true" class="required" />
<label id="pic" for="pic" class="error" style="diplay:none">图片类型必须是.gif,jpeg,jpg,bmp中的一种</label>
<input type="button" name="button" style="margin-bottom: 0px;" onclick="javascript:openBrowse(this);" value="上传图片"/>
<!-- <input type="button" id="cancelButton" name="button" style="margin-bottom: 0px;diplay:none" onclick="javascript:cancelBrowse();" value="取消上传"/> -->
<span class="help-inline"><font color="red">*</font> </span>
<p style="diplay:none" name="notShow"><div id="localImag" class="localImags"><div class=‘clo‘ onClick=‘javascript:checkClose(this);‘></div><img id="preview" style="diplay:none" /></div></p></li>

以上是关于前台页面 上传预览 调用上传服务的主要内容,如果未能解决你的问题,请参考以下文章

asp 前台ajax提交的blob数据在后台怎么接受

java 后台如何获取前台上传的几张图片

前后台分离式开发(文件的上传下载),cookie(存放在前台),session(存放在后台)

JavaWeb中实现文件上传的方式有哪些?

问题:JavaWeb中实现文件上传的方式有哪些?

使用超链接和后台Servlet实现文件上传和下载(附图和代码)