[代码全屏查看]-利用ctrl+v实现粘贴截图完成上传功能
来源:互联网 发布:mac如何移动桌面图标 编辑:程序博客网 时间:2024/04/29 05:31
http://www.oschina.net/code/piece_full?code=47893
<?php
header(
"Access-Control-Allow-Origin:*"
);
$url
=
'http://'
.
$_SERVER
[
'HTTP_HOST'
];
$file
= (isset(
$_POST
[
"file"
])) ?
$_POST
[
"file"
] :
''
;
if
(
$file
)
{
$data
=
base64_decode
(
str_replace
(
'data:image/png;base64,'
,
''
,
$file
));
//截图得到的只能是png格式图片,所以只要处理png就行了
$name
= md5(time()) .
'.png'
;
// 这里把文件名做了md5处理
file_put_contents
(
$name
,
$data
);
echo
"$url/$name"
;
die
;
}
?>
<div id=
"box"
style=
"width:400px;height:400px;border:1px solid;"
contenteditable>
</div>
<input type=
"hidden"
name=
"img"
value=
""
id=
"img_puth"
/>
<script>
//查找box元素,检测当粘贴时候,
document.querySelector(
'#box'
).addEventListener(
'paste'
,
function
(e) {
//判断是否是粘贴图片
if
(e.clipboardData && e.clipboardData.items[0].type.indexOf(
'image'
) > -1)
{
var
that = this,
reader =
new
FileReader();
file = e.clipboardData.items[0].getAsFile();
//ajax上传图片
reader.onload =
function
(e)
{
var
xhr =
new
XMLHttpRequest(),
fd =
new
FormData();
xhr.open(
'POST'
,
''
, true);
xhr.onload =
function
()
{
var
img =
new
Image();
img.src = xhr.responseText;
// that.innerHTML = '<img src="'+img.src+'" alt=""/>';
document.getElementById(
"img_puth"
).value = img.src;
}
// this.result得到图片的base64 (可以用作即时显示)
fd.append(
'file'
, this.result);
that.innerHTML =
'<img src="'
+this.result+
'" alt=""/>'
;
xhr.send(fd);
}
reader.readAsDataURL(file);
}
}, false);
</script>
0 0
- [代码全屏查看]-利用ctrl+v实现粘贴截图完成上传功能
- 粘贴截图完成上传功能
- [转]php实现粘贴截图并完成上传功能
- 实现浏览器截图粘贴功能
- js实现ctrl+v粘贴上传图片(兼容chrome、firefox、ie11)
- 如何屏蔽"ctrl+v"和"右键的粘贴功能"
- MFC 实现复制功能 Ctrl+C Ctrl+V 功能
- 利用Jcrop完成截图保存功能
- CRichEditCtrl 好象没有复制、粘贴的功能(Ctrl+C、Ctrl+v都不好用
- js模拟Ctrl+C复制、Ctrl+V粘贴功能之tabindex、focus、keyCode
- 网页截图粘贴上传
- mac os系统复制粘贴ctrl+c ctrl+v快捷键实现方式
- 代码实现截图(全屏,局部)
- 如果在CEdit中实现Ctrl+V、Ctrl+C、Ctrl+X的功能
- 如果在CEdit中实现Ctrl+V、Ctrl+C、Ctrl+X的功能
- DOS命令行环境下Ctrl+v粘贴
- word里面Ctrl+V不能粘贴解决方法
- 实现QQ截图粘贴到聊天框功能
- 29 继承(一)
- 【三层登录之C#版】
- iOS 9 适配中出现的坑
- Android有效解决加载大图片时内存溢出的问题
- call to OpenGL ES API with no current context (logged once per thread)可能会导致加载问题?
- [代码全屏查看]-利用ctrl+v实现粘贴截图完成上传功能
- Eclipse背景颜色自定义设置:
- JS判断是否是IE浏览器
- 高层论坛︱王家耀院士:“互联网+”时空大数据与智慧城市(1)
- docker介绍、安装及使用
- 应用被强杀了怎么办
- 滤镜CoreImage
- Ubuntu中设置环境变量的几种方式及区别
- 用extjs写一个登录界面