
由于我的项目有上传屏幕截图这样的需求,为了用户体验更佳,减少操作步骤,我在网上搜了一遍之后,找到了一些眉目。为了便于复用和共享,我又对该功能做了一些封装,于是便有了这个插件 screenshot-paste。运行效果如下图:

插件调用示例:
screenshot paste example script> script>
插件依赖:
从调用示例中,我们可以看到,这个插件依赖如下:
1)需要引用jquery
2)插件本身screenshot-paste.js
3)需要一个textbox和图片预览div
插件可配置项:
插件方法:
该插件目前只有一个方法 getImgData,调用示例如下:
var imgData = $('#demo').screenshotPaste('getImgData');
值得一提的是,该方法返回的是img的src属性里面的内容,即base编码的图片数据内容。

这样的数据上传到服务器之后,需要用base解码,解码示例代码如下(C#版):
private string UploadImage(string imageData)
{
imageData = imageData.Remove(0, imageData.IndexOf(',') + 1);//字符串中截图base编码数据
var bytes = Convert.FromBaseString(imageData);//base解码
var url = BLLOrderImg.UploadImg(bytes);//本行及以下代码行的内容可忽略
return url;
}
插件源码:
