image.html 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  2. "http://www.w3.org/TR/html4/loose.dtd">
  3. <html>
  4. <head>
  5. <title>图片上传</title>
  6. <meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
  7. <link rel="stylesheet" href="image.css" type="text/css" />
  8. </head>
  9. <body>
  10. <div class="wrapper">
  11. <div id="imageTab">
  12. <div id="tabHeads">
  13. <span tabSrc="remote">网络图片</span>
  14. <span tabSrc="local" class="focus">本地上传</span>
  15. <span tabSrc="imgManager">在线管理</span>
  16. <span tabSrc="imgSearch">图片搜索</span>
  17. </div>
  18. <div id="tabBodys">
  19. <div id="remote" class="panel">
  20. <table cellpadding="0" cellspacing="0">
  21. <tr>
  22. <td class="label"><label for="url">地 址:</label></td>
  23. <td><input id="url" type="text"/></td>
  24. </tr>
  25. <tr>
  26. <td class="label"><label for="width">宽 度:</label></td>
  27. <td><input type="text" id="width"/> px</td>
  28. </tr>
  29. <tr>
  30. <td class="label"><label for="height">高 度:</label></td>
  31. <td><input type="text" id="height"/> px</td>
  32. </tr>
  33. <tr>
  34. <td class="label"><label for="border">边 框:</label></td>
  35. <td><input type="text" id="border"/> px</td>
  36. </tr>
  37. <tr>
  38. <td class="label"><label for="vhSpace">边 距:</label></td>
  39. <td><input type="text" id="vhSpace"/> px</td>
  40. </tr>
  41. <tr>
  42. <td class="label"><label for="title">描 述:</label></td>
  43. <td><input type="text" id="title"/></td>
  44. </tr>
  45. <tr>
  46. <td class="label">对 齐:</td>
  47. <td id="remoteFloat"></td>
  48. </tr>
  49. </table>
  50. <div id="preview"></div>
  51. <div class="lock"><input id="lock" type="checkbox" title="锁定宽高比例" checked="checked"></div>
  52. </div>
  53. <div id="local" class="panel">
  54. <div id="flashContainer"></div>
  55. <div><div id="upload" style="display: none" ></div><div class="duiqi"></div><div id="localFloat"></div></div>
  56. </div>
  57. <div id="imgManager" class="panel">
  58. <div id="imageList">&nbsp;&nbsp;图片加载中……</div>
  59. <!--<p id="pageControler">分页控制器</p>-->
  60. </div>
  61. <div id="imgSearch" class="panel">
  62. <table style="margin-top: 5px;">
  63. <tr>
  64. <td width="200"><input id="imgSearchTxt" value="请输入搜索关键词" type="text" /></td>
  65. <td width="65">
  66. <select id="imgType">
  67. <!--<option value="&s=0&z=0">全部</option>-->
  68. <option value="&s=4&z=0">新闻</option>
  69. <option value="&s=1&z=19">壁纸</option>
  70. <option value="&s=2&z=0">表情</option>
  71. <option value="&s=3&z=0">头像</option>
  72. </select>
  73. </td>
  74. <td width="80"><input id="imgSearchBtn" type="button" value="百度一下" /></td>
  75. <td width="80"><input id="imgSearchReset" type="button" value="清空搜索" /></td>
  76. </tr>
  77. </table>
  78. <div id="searchList"></div>
  79. </div>
  80. <iframe id="maskIframe" src="about:blank" scrolling="no" frameborder="no"></iframe>
  81. </div>
  82. </div>
  83. </div>
  84. <script type="text/javascript" src="../internal.js"></script>
  85. <script type="text/javascript" src="../tangram.js"></script>
  86. <script type="text/javascript" src="image.js"></script>
  87. <script type="text/javascript">
  88. //全局变量
  89. var imageUrls = [], //用于保存从服务器返回的图片信息数组
  90. selectedImageCount = 0; //当前已选择的但未上传的图片数量
  91. editor.setOpt({
  92. imageFieldName:"upfile",
  93. compressSide:0,
  94. maxImageSideLength:900
  95. });
  96. window.onload = function(){
  97. var timeout;
  98. //创建Flash相关的参数集合
  99. var flashOptions = {
  100. container:"flashContainer", //flash容器id
  101. url:editor.options.imageUrl, // 上传处理页面的url地址
  102. ext:'{"param1":"参数值1", "param2":"参数值2"}', //可向服务器提交的自定义参数列表
  103. fileType:'{"description":"图片", "extension":"*.gif;*.jpeg;*.png;*.jpg"}', //上传文件格式限制
  104. flashUrl:'imageUploader.swf', //上传用的flash组件地址
  105. width:608, //flash的宽度
  106. height:272, //flash的高度
  107. gridWidth:121, // 每一个预览图片所占的宽度
  108. gridHeight:120, // 每一个预览图片所占的高度
  109. picWidth:100, // 单张预览图片的宽度
  110. picHeight:100, // 单张预览图片的高度
  111. uploadDataFieldName:editor.options.imageFieldName, // POST请求中图片数据的key
  112. picDescFieldName:'pictitle', // POST请求中图片描述的key
  113. maxSize:2, // 文件的最大体积,单位M
  114. compressSize:1, // 上传前如果图片体积超过该值,会先压缩,单位M
  115. maxNum:32, // 单次最大可上传多少个文件
  116. backgroundUrl:'', // flash界面的背景图片,留空默认
  117. listBackgroundUrl:'', // 单个预览框背景,留空默认
  118. buttonUrl:'', // 上传按钮背景,留空默认
  119. compressSide:editor.options.compressSide, //等比压缩的基准,0为按照最长边,1为按照宽度,2为按照高度
  120. compressLength:editor.options.maxImageSideLength //能接受的最大边长,超过该值Flash会自动等比压缩
  121. };
  122. //回调函数集合,支持传递函数名的字符串、函数句柄以及函数本身三种类型
  123. var callbacks={
  124. // 选择文件的回调
  125. selectFileCallback: function(selectFiles){
  126. selectedImageCount += selectFiles.length;
  127. if(selectedImageCount) baidu.g("upload").style.display = "";
  128. dialog.buttons[0].setDisabled(true); //初始化时置灰确定按钮
  129. },
  130. // 删除文件的回调
  131. deleteFileCallback: function(delFiles){
  132. selectedImageCount -= delFiles.length;
  133. if (!selectedImageCount) {
  134. baidu.g("upload").style.display = "none";
  135. dialog.buttons[0].setDisabled(false); //没有选择图片时重新点亮按钮
  136. }
  137. },
  138. // 单个文件上传完成的回调
  139. uploadCompleteCallback: function(data){
  140. clearTimeout(timeout);
  141. try{
  142. var info = eval("(" + data.info + ")");
  143. info && imageUrls.push(info);
  144. selectedImageCount--;
  145. }catch(e){}
  146. },
  147. // 单个文件上传失败的回调,
  148. uploadErrorCallback: function (data){
  149. clearTimeout(timeout);
  150. if(!data.info){
  151. alert("网络连接失败!请检查网络或者提交页面地址是否正确!")
  152. }
  153. //console && console.log(data);
  154. },
  155. // 全部上传完成时的回调
  156. allCompleteCallback: function(){
  157. dialog.buttons[0].setDisabled(false); //上传完毕后点亮按钮
  158. },
  159. // 开始上传某个文件时的回调
  160. startUploadCallback: function(){
  161. timeout = setTimeout(function(){
  162. clearTimeout(timeout);
  163. if(!confirm("后台响应超时,点击确定继续等待,点击取消关闭上传框!")){
  164. dialog.close();
  165. }
  166. },10000 );
  167. }
  168. // 文件超出限制的最大体积时的回调
  169. //exceedFileCallback: 'exceedFileCallback',
  170. };
  171. imageUploader.init(flashOptions,callbacks);
  172. };
  173. </script>
  174. </body>
  175. </html>