|
|
|
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
|
|
|
|
"http://www.w3.org/TR/html4/loose.dtd">
|
|
|
|
|
<html>
|
|
|
|
|
<head>
|
|
|
|
|
<title></title>
|
|
|
|
|
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
|
|
|
|
|
<script type="text/javascript" src="../internal.js"></script>
|
|
|
|
|
<style type="text/css">
|
|
|
|
|
.wrapper{width: 600px;padding: 10px;height: 352px;overflow: hidden;position: relative;border-bottom: 1px solid #d7d7d7}
|
|
|
|
|
.localPath input{float: left;width: 350px;line-height: 20px;height: 20px;}
|
|
|
|
|
#clipboard{float:left;width: 70px;height: 30px; }
|
|
|
|
|
.description{ color: #0066cc; margin-top: 2px; width: 450px; height: 45px;float: left;line-height: 22px}
|
|
|
|
|
#upload{width: 100px;height: 30px;float: right; margin:10px 2px 0 0;cursor: pointer;}
|
|
|
|
|
#msg{ width: 140px; height: 30px; line-height:25px;float: left;color: red}
|
|
|
|
|
</style>
|
|
|
|
|
</head>
|
|
|
|
|
<body>
|
|
|
|
|
<div class="wrapper">
|
|
|
|
|
<div class="localPath">
|
|
|
|
|
<input id="localPath" type="text" readonly />
|
|
|
|
|
<div id="clipboard"></div>
|
|
|
|
|
<div id="msg"></div>
|
|
|
|
|
</div>
|
|
|
|
|
<div id="flashContainer"></div>
|
|
|
|
|
<div>
|
|
|
|
|
<div id="upload" style="display: none" ><img id="uploadBtn"></div>
|
|
|
|
|
<div class="description">
|
|
|
|
|
<span style="color: red"><var id="lang_resave"></var>: </span><var id="lang_step"></var>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<script type="text/javascript" src="tangram.js"></script>
|
|
|
|
|
<script type="text/javascript" src="wordimage.js"></script>
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
|
editor.setOpt({
|
|
|
|
|
wordImageFieldName:"upfile",
|
|
|
|
|
compressSide:0,
|
|
|
|
|
maxImageSideLength:900
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
//全局变量
|
|
|
|
|
var imageUrls = [], //用于保存从服务器返回的图片信息数组
|
|
|
|
|
selectedImageCount = 0, //当前已选择的但未上传的图片数量
|
|
|
|
|
optImageUrl = editor.getActionUrl(editor.getOpt('imageActionName')),
|
|
|
|
|
optImageFieldName = editor.getOpt('imageFieldName'),
|
|
|
|
|
optImageCompressBorder = editor.getOpt('imageCompressEnable') ? editor.getOpt('imageCompressBorder'):null,
|
|
|
|
|
maxSize = editor.getOpt('imageMaxSize') / 1024,
|
|
|
|
|
extension = editor.getOpt('imageAllowFiles').join(';').replace(/\./g, '*.');
|
|
|
|
|
|
|
|
|
|
/* 添加额外的GET参数 */
|
|
|
|
|
var params = utils.serializeParam(editor.queryCommandValue('serverparam')) || '',
|
|
|
|
|
urlWidthParams = optImageUrl + (optImageUrl.indexOf('?') == -1 ? '?':'&') + params;
|
|
|
|
|
|
|
|
|
|
utils.domReady(function(){
|
|
|
|
|
//创建Flash相关的参数集合
|
|
|
|
|
var flashOptions = {
|
|
|
|
|
container:"flashContainer", //flash容器id
|
|
|
|
|
url:urlWidthParams, // 上传处理页面的url地址
|
|
|
|
|
ext:editor.queryCommandValue('serverParam') || {}, //可向服务器提交的自定义参数列表
|
|
|
|
|
fileType:'{"description":"'+lang.fileType+'", "extension":"' + extension + '"}', //上传文件格式限制
|
|
|
|
|
flashUrl:'imageUploader.swf', //上传用的flash组件地址
|
|
|
|
|
width:600, //flash的宽度
|
|
|
|
|
height:272, //flash的高度
|
|
|
|
|
gridWidth:120, // 每一个预览图片所占的宽度
|
|
|
|
|
gridHeight:120, // 每一个预览图片所占的高度
|
|
|
|
|
picWidth:100, // 单张预览图片的宽度
|
|
|
|
|
picHeight:100, // 单张预览图片的高度
|
|
|
|
|
uploadDataFieldName: optImageFieldName, // POST请求中图片数据的key
|
|
|
|
|
picDescFieldName:'pictitle', // POST请求中图片描述的key
|
|
|
|
|
maxSize: maxSize, // 文件的最大体积,单位M
|
|
|
|
|
compressSize:1, // 上传前如果图片体积超过该值,会先压缩,单位M
|
|
|
|
|
maxNum:32, // 单次最大可上传多少个文件
|
|
|
|
|
compressSide: 0, //等比压缩的基准,0为按照最长边,1为按照宽度,2为按照高度
|
|
|
|
|
compressLength: optImageCompressBorder //能接受的最大边长,超过该值Flash会自动等比压缩
|
|
|
|
|
};
|
|
|
|
|
//回调函数集合,支持传递函数名的字符串、函数句柄以及函数本身三种类型
|
|
|
|
|
var callbacks={
|
|
|
|
|
selectFileCallback: function(selectFiles){ // 选择文件的回调
|
|
|
|
|
selectedImageCount += selectFiles.length;
|
|
|
|
|
if(selectedImageCount) baidu.g("upload").style.display = "";
|
|
|
|
|
dialog.buttons[0].setDisabled(true); //初始化时置灰确定按钮
|
|
|
|
|
},
|
|
|
|
|
deleteFileCallback: function(delFiles){ // 删除文件的回调
|
|
|
|
|
selectedImageCount -= delFiles.length;
|
|
|
|
|
if (!selectedImageCount) {
|
|
|
|
|
baidu.g("upload").style.display = "none";
|
|
|
|
|
dialog.buttons[0].setDisabled(false); //没有选择图片时重新点亮按钮
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
uploadCompleteCallback: function(data){ // 单个文件上传完成的回调
|
|
|
|
|
try{var info = eval("(" + data.info + ")");
|
|
|
|
|
info && imageUrls.push(info);
|
|
|
|
|
selectedImageCount--;
|
|
|
|
|
}catch(e){}
|
|
|
|
|
},
|
|
|
|
|
uploadErrorCallback: function (data){ // 单个文件上传失败的回调,
|
|
|
|
|
console && console.log(data);
|
|
|
|
|
},
|
|
|
|
|
allCompleteCallback: function(){ // 全部上传完成时的回调
|
|
|
|
|
dialog.buttons[0].setDisabled(false); //上传完毕后点亮按钮
|
|
|
|
|
}
|
|
|
|
|
//exceedFileCallback: 'exceedFileCallback', // 文件超出限制的最大体积时的回调
|
|
|
|
|
//startUploadCallback: startUploadCallback // 开始上传某个文件时的回调
|
|
|
|
|
};
|
|
|
|
|
wordImage.init(flashOptions,callbacks);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|