上传希望能增加一个功能。

abcd 2019-05-30 01:49:28

1. 第一个功能是是支持剪切板粘贴上传,比如qq截图上传之类的。

这个是网上找的,并自己实现了代码:

  1. <script>  
  2. ( function  () {  
  3.     document.addEventListener('paste',  function  (e) {  
  4.          var  items = ((e.clipboardData || window.clipboardData).items) || [];  
  5.          var  file = null;  
  6.   
  7.          if  (items && items.length) {  
  8.              for  ( var  i = 0; i < items.length; i++) {  
  9.                  if  (items[i].type.indexOf('image') !== -1) {  
  10.                     file = items[i].getAsFile();  
  11.                      break ;  
  12.                 }  
  13.             }  
  14.         }  
  15.   
  16.          if  (!file) {  
  17.             alert('粘贴内容非图片!');  
  18.              return ;  
  19.         }  
  20.          var  formData =  new  FormData();  
  21.         formData.append('file', file);  
  22.   
  23.          var  xhr =  new  XMLHttpRequest();  
  24.         xhr.onload =  function  () {  
  25.             try {  
  26.                  var  result = JSON.parse(this.responseText);  
  27.                  if  (result.result === 'success') {  
  28.                      var  links = document.getElementById( "links" );  
  29.                     links.innerHTML += result.url +  "<br />" ;  
  30.   
  31.                      var  bbscode = document.getElementById( "bbscode" );  
  32.                     bbscode.innerHTML +=  "[img]"  + result.url +  "[/img]<br />" ;  
  33.   
  34.                      var  markdown = document.getElementById( "markdown" );  
  35.                     markdown.innerHTML +=  "![]("  + result.url +  ")<br />" ;  
  36.   
  37.                      var  html = document.getElementById( "html" );  
  38.                     html.innerHTML +=  "&lt;img src=\""  + result.url +  "\" /&#62;<br />" ;  
  39.                 }  else  {  
  40.                     alert('上传失败1');  
  41.                 }  
  42.             } catch (e) {  
  43.                 alert('上传失败2');  
  44.             }  
  45.         };  
  46.         xhr.onerror =  function  () {  
  47.             alert('上传失败3');  
  48.         };  
  49.         xhr.open('POST', 'file.php', true);  
  50.         xhr.send(formData);  
  51.     });  
  52. })();  
  53. </script>  
蝉知2.0