需要有关使用 ASP.Net 或 JavaScript 将图像复制到网站剪贴板的帮助
Need help regards copy image to clipboard in website using ASP.Net or JavaScript?
我需要关于将图像复制到网站剪贴板的帮助。映像是动态创建的。
我找到了两个解决方案
解决方案 1 :
using System.Windows.Forms;
Bitmap bitmapImage ;
protected void buttonClipboard_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
MemoryStream memoryStream = new MemoryStream(imageByteArray); // Image byte array is the input
bitmapImage = (Bitmap)System.Drawing.Image.FromStream(memoryStream);
memoryStream.Flush();
memoryStream.Close();
Thread cbThread = new Thread(new ThreadStart(CopyToClipboard));
cbThread.ApartmentState = ApartmentState.STA;
cbThread.Start();
cbThread.Join();
}
[STAThread]
protected void CopyToClipboard()
{
if (bitmapImage != null)
{
//Clipboard.SetData(DataFormats.Bitmap, bitmapImage);
Clipboard.SetImage(bitmapImage);
}
}
在发布网站之前,这工作正常。发布后,这将不适用于任何网站浏览器,因为这里使用了 STAThread。一些网站表示,由于浏览器中的内部多线程处理,线程在已发布的网站上不起作用。
解决方案 2 :
<script type="text/javascript">
function CopyToClip() {
var imgControl = document.getElementById('imageContent');
imgControl.contentEditable = 'true';
var controlRange;
if (document.body.createControlRange) {
controlRange = document.body.createControlRange();
controlRange.addElement(imgControl);
controlRange.execCommand('Copy');
}
imgControl.contentEditable = 'false';
return true;
}
这个java脚本在发布网站之前和之后对IE工作正常。但它在任何情况下都无法在Chrome和Mozilla中使用。
我需要 Mozilla 和 Chrome 的一个解决方案。
请为此提出任何解决方案?
IE
是唯一支持这种剪贴板交互方法的浏览器。没有其他浏览器支持在剪贴板中放置图像。
对于文本,您必须使用基于 Flash 的解决方案来实现跨浏览器支持。你可以试试ZeroClipboard。
Mozilla有一个剪贴板指南,但它的水平相当低,从这个文档来看,由于安全问题,他们不太热衷于打开剪贴板。特别是关于"为网站启用剪贴板访问":
Firefox 中没有内置这样的功能。
但是,有一个有趣的 W3C API 规范用于剪贴板交互。特别是,setData
方法似乎对您的用例很有希望。这个 SO 答案对onpaste
事件进行了有趣的测试,但不幸的是,剪贴板上的项目上没有任何内容,只是检索它们。
如果没有用户手动编辑至少一个配置文件,它就无法在 Firefox 中真正工作。
在 chrome 中,除扩展程序外,它已被禁用。
如果你想要跨浏览器剪贴板支持,可悲的是,flash小部件是目前唯一真正可行的方法。
相关文章:
- 复制图像路径以单击它
- 当页面包含指向一个图像的多个链接时,fancyBox会复制缩略图辅助图像
- 使用JavaScript从网页复制HTML代码或图像链接
- 如何使用PHP、提交和单选按钮复制/重命名/覆盖图像
- HTML将图像从画布复制到另一个画布
- Anythingsslider+Fancybox复制图像
- 是否可以将画布图像复制到剪贴板
- 使用Jquery将剪贴板图像复制到网页中
- 如何禁止复制浏览我的网站的图像
- 将javascript制作的图像复制到剪贴板
- 如何在 MobileSafari 中接收复制的图像
- 如何将画布图像数据复制到论文.js 光栅对象
- 我怎样才能检测到“;复制图像”;浏览器事件
- 使用jquery/javascript复制图像并将其粘贴到word文件中
- 在Gallery中复制图像
- Cordova / Javascript从URL复制图像到本地存储
- 从iframe复制图像到textarea
- 复制图像/粘贴base64编码的图像
- 我如何复制图像到一个表使用jQuery拖拽
- 无法使用画布复制图像