我一直试图保存从屏幕截图复制并粘贴到PXImage控件中的图像文件。现在,当我保存记录时,我也尝试保存图像,并将文件名和其他DAC字段一起保存在数据库记录中。
下面是将屏幕快照图像设置到PXImage控件中的js代码。
document.onpaste = function (event) {
var items = (event.clipboardData || event.originalEvent.clipboardData).items;
console.log(JSON.stringify(items)); // will give you the mime types
if (items.length > 0) {
var imgControl = document.querySelectorAll('.note-m img');
//get the last screenshot
var item = items[items.length - 1];
if (item.kind === 'file') {
var blob = item.getAsFile();
var reader = new FileReader();
reader.onload = function (event) {
var result = event.target.result;
imgControl[0].src = result;
px_alls["ds"].executeCallback("saveScreenshotImage","test");
};
reader.readAsDataURL(blob);
}
}
}
现在,我要保存此图像并生成一个文件名,可以将其与记录一起保存在名为“ ScreenShotImage”的DAC字段中。
我想创建一个动作并通过js调用它,但是我无法成功将图像作为命令参数传递。
图中的操作方法:
public PXAction<Ticket> saveScreenshotImage;
[PXButton]
public virtual IEnumerable SaveScreenshotImage(PXAdapter adapter)
{
throw new PXException("test...");
}
通过JS调用
px_alls["ds"].executeCallback("saveScreenshotImage");
有什么办法可以通过Persist方法获取该特定文件吗?
public override void Persist()
{
base.Persist();
}
谢谢。