我有一个小模块,它正在剪贴板中查找图像,如果它在那里,则在页面上显示它。这在我的桌面上运行良好,但在IIS上托管时永远不会进入System.Windows.Forms.Clipboard.ContainsImage()。任何超出目的的概念,如Windows剪贴板都不能被服务器端应用程序使用?
if (System.Windows.Forms.Clipboard.ContainsImage())
{
img = System.Windows.Forms.Clipboard.GetImage();
imgBytes = imageToByteArray(img);
string imgString = Convert.ToBase64String(imgBytes, 0, imgBytes.Length);
clipBoardImg.ImageUrl = "data:image/jpeg;base64," + imgString;
clipBoardImg.Visible = true;
}
答案 0 :(得分:0)
如果您尝试访问IIS上的剪贴板,则尝试在服务器上 >>,而不是在客户端上访问它。这肯定会在服务器端失败,因为您的服务器进程中没有屏幕(您不是用户交互的)。
您应该做的是将此代码转换为客户端(例如javascript),这很难,因为您无法从客户端浏览器访问剪贴板。
我认为(几乎)不可能实现这一点。使用input type=file
会帮助你吗?还是a drag-drop surface?这对我来说似乎是更好的选择。