未找到

未发布 【示例教程】使用leadtools的WCF接口功能实现从web端上传Dicom影像文件
by Harriet666 keys 分享 1517903663716
Leadtools 19总套包下载>>>
 
leadtools为web端提供了wcf接口来供用户可以登录pacs系统,检索,查看以及上传影像。本篇博客讲解如何创建一个网页来实现上传功能,通过WCF进行dicom文件的上传时,是将dicom文件转换为base64数据流,分段进行传输。
 
本篇博客运行的前提是已经部署完成Leadtools HTML5 Web Viewer,可以正常浏览。参考https://www.evget.com/article/2018/2/6/27757.html
 
在部署完成后,将下面的代码复制到一个HTML文件中,即可运行进行测试。另外需要添加html文件所需的jquery.min.js到同文件夹路径下。
<head>
    <meta charset="UTF-8">
head>

<form onsubmit="return false;">
    <input type="hidden" name="file_base64" id="file_base64">
    <input type="file" id="fileup" multiple="multiple">
    <input type="submit" value="submit" onclick="$.post('./uploader.php', $(this).parent().serialize());">
    <div>
        <div id="msg">div>
    div>
form>
<script src="scripts/jquery.min.js">script>
<script>

    $(document).ready(function () {
        authcookie = login();
        document.cookie = "authcookie=" + authcookie;
        $("#fileup").change(function () {
            getauthcookie("authcookie");
            filelist = this.files;
            file = filelist[fileindex];
            upload(file);
        });
    });
    var authcookie;//保存authcookie
    var filelist;//上传文件列表
    var file;//当前上传文件
    var tempfile = "";//临时文件名称
    var position = 0;
    var size = 40000;//分段大小
    var done = false;
    var fileindex=0;//当前上传文件序列号

    function upload(tempfile) {
        if(position==0)
            done=false;
        var reader = new FileReader();
        if (file.size > position + 40000)
            reader.readAsArrayBuffer(file.slice(position, position + 40000));
        else 
            reader.readAsArrayBuffer(file.slice(position, file.size));
        reader.onload = function (e) {
            if (e.target.readyState === 2) {
                var base64string = base64ArrayBuffer(e.target.result);
                var data = {
                    authenticationCookie: authcookie,
                    dicomData: base64string,
                    fileName: tempfile,
                    status: position==0?"start":"append"
                };
                tempfile = senddata(JSON.stringify(data));
                if (!done) {
                    position += 40000;
                    upload(tempfile);
                    if (position+40000>file.size)
                        done = true;
                }
                else {
                    var data = {
                        authenticationCookie: authcookie,
                        dicomData: "",
                        fileName: tempfile,
                        status: "done"
                    };
                    tempfile = senddata(JSON.stringify(data));
                    position = 0;
                    $("#msg").html($("#msg").html()+"第"+(fileindex+1)+"个文件已经上传完成

"); fileindex += 1; if (fileindex < filelist.length) { file = filelist[fileindex]; upload(tempfile); } else { fileindex = 0; $("#msg").html($("#msg").html() + "文件全部已经上传完成

"); } } } }; } function senddata(data) { var result; $.ajax({ type:"post", url: "http://localhost/MedicalViewerService19/StoreService.svc/UploadDicomImage", data: data, contentType: "application/json", dataType: "json", success: function(data){result= data}, async: false }); return result; } function login() { var auth; var logininfo = { userName: "a", password: "a", userData: "" }; $.ajax({ type: "post", url: "http://localhost/MedicalViewerService19/AuthenticationService.svc/AuthenticateUser", data: JSON.stringify(logininfo), contentType: "application/json", dataType: "text", success: function (data) { auth= data }, async: false }); return auth; } function query() { } function getauthcookie() { document.cookie.split(";").forEach(function (val, index) { var index = val.indexOf("="); if ($.trim(val.substring(0, index)) == "authcookie") { authcookie = $.trim(val.substring(index + 1, val.length)); } }); return ""; } function base64ArrayBuffer(arrayBuffer) { var base64 = ''; var encodings = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; var bytes = new Uint8Array(arrayBuffer); var byteLength = bytes.byteLength; var byteRemainder = byteLength % 3; var mainLength = byteLength - byteRemainder; var a, b, c, d; var chunk; // Main loop deals with bytes in chunks of 3 for (var i = 0; i < mainLength; i = i + 3) { // Combine the three bytes into a single integer chunk = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2]; // Use bitmasks to extract 6-bit segments from the triplet a = (chunk & 16515072) >> 18; // 16515072 = (2^6 - 1) << 18 b = (chunk & 258048) >> 12; // 258048 = (2^6 - 1) << 12 c = (chunk & 4032) >> 6; // 4032 = (2^6 - 1) << 6 d = chunk & 63; // 63 = 2^6 - 1 // Convert the raw binary segments to the appropriate ASCII encoding base64 += encodings[a] + encodings[b] + encodings[c] + encodings[d]; } // Deal with the remaining bytes and padding if (byteRemainder == 1) { chunk = bytes[mainLength] a = (chunk & 252) >> 2; // 252 = (2^6 - 1) << 2 // Set the 4 least significant bits to zero b = (chunk & 3) << 4; // 3 = 2^2 - 1 base64 += encodings[a] + encodings[b] + '=='; } else if (byteRemainder == 2) { chunk = (bytes[mainLength] << 8) | bytes[mainLength + 1]; a = (chunk & 64512) >> 10; // 64512 = (2^6 - 1) << 10 b = (chunk & 1008) >> 4; // 1008 = (2^6 - 1) << 4 // Set the 2 least significant bits to zero c = (chunk & 15) << 2 // 15 = 2^4 - 1 base64 += encodings[a] + encodings[b] + encodings[c] + '='; } return base64; } script>

6

未发布 地图服务器控件GIS Map Server v3.6发布,新增航空影像数据集功能
by Harriet666 keys 分享 1490336708034

GIS Map Server是一款地图服务器控件,它将动态地图功能添加到了GLG工具包中并能与工具包一起使用或独立使用。GLG地图服务器控件将动态地图功能添加到了GLG工具包中并能与工具包一起使用或独立使用。当与工具包一起使用时,一个综合的GIS对象将负责完成变焦、摇摄、协同转换与地图转化,还会将地图服务器整合到GLG绘图功能中。当工具包在处理地图顶端的动态图标的转换时,还能实时地对它们进行更新。

GIS Map Server更新至v3.6版本,增加了航空影像数据集等功能。

最新GIS Map Server点击下载>>>

新的地图服务器功能:
  • 新版本增加了与大型卫星一起使用的航空影像数据集功能。
  • 卫星数据集,如World 15m Satellite Images,在没有图像数据的海洋区域使用黑色。当显示此图像时,黑色区域应视为透明。这是通过使用TRANSPARENT COLOR OPAQUE图层类型,并将黑色指定为透明颜色来实现的。透明色彩精确度也用于消除JPEG图像有损压缩的现象。
  • 航空数据集,例如右图所示的US 0.5m Aerial Images,使用在UTM投影中创建的tiles。要在不同的投影中显示这个图块,需要对其进行转换(未投影)以使用lat / lon坐标。由于UTM矩形在lat / lon坐标中不是矩形,因此转换的图块将在填充有黑色的边缘处具有未使用的区域。当显示此图像时,这个黑色区域也应该被视为透明的。此外,由于tiles是从UTM投影转换而来的,tiles将出现重叠并且一个tiles中的透明区域的数据将由另一个重叠的tiles提供。
                         US 0.5m Aerial Images示例
     
  • 地图服务器已经支持透明颜色属性。添加以下列出的新层属性,能更好地渲染卫星和航空图像数据集。
    • 背景颜色属性可以定义用于渲染此图层中的透明像素颜色的RGB值。
    • 背景图层属性可以定义用于渲染此图层中的透明像素而不是背景颜色的另一个图层的名称。
    • TILES OVERLAP属性,此图层包含具有透明像素的重叠图块。当地图服务器在地图上呈现像素时,它会搜索包含该像素数据的图块。如果它找到一个tile并且像素是透明的,它将继续搜索,直到找到为像素提供(非透明)数据的源图块。如果未找到源图块,则将使用背景颜色(如果已定义)或使用背景图层中的像素数据来渲染该像素。如果没有定义背景颜色和背景层,则不会渲染像素,也不会渲染地图的底层或背景颜色。 
【本文作者慧都Elyn,转载请注明出处】 
未发布 【教程】网络安全工具FileAudit中配置你的第一个Audit路径
by Harriet666 keys 分享 1511773072972
FileAudit可用于对Windows服务器上文件和文件夹的所有访问进行主动跟踪、审核、报告和警告。本文为大家介绍如何配置你的第一个Audit路径。
 
FileAudit免费下载>>>
 
1、启动FileAudit。

你会发现3个主要分组:
  • Audit:允许您配置审计和警报。
  • Access:显示“文件访问查看器”和“统计”视图。
  • Tools:自定义FileAudit设置,安排自动报告、清理数据库和访问帮助文件。
右上角的“连接”按钮允许您远程连接到“FileAudit服务”的另一个系统。
 
2、要设置您的第一个审计路径,请单击FileAudit集线器中的“添加文件夹”。点击“+”按钮,浏览您的目标文件夹:
 
3、验证了您的选择后,将弹出“FileAudit路径向导”,以指导您完成配置文件夹审计的过程。

该向导将显示所选文件夹的配置状态,并突出显示缺少的任何需求或设置。对于每个必要的操作,您可以选择自动完成(通过向导)或手动完成。我们强烈建议您将FileAudit自动配置用于所有设置。
 
4、需要操作的列表。
 
5、选择自动或手动处理。
 
6、FileAudit将优化NTFS审计设置。
 
7、当NTFS Audit设置被禁用时,FileAudit检查并可以启用它。
 
8、文件夹主机将被添加到“许可服务器”列表中。
 
9、启用实时事件监控。
 
10、您选择的文件夹现在由FileAudit进行监控。所有访问事件将被存储在FileAudit数据库中。
 
注意:
有几个不同的方法来选择要审核的文件/文件夹路径。除了以上方法外,您还可以:
  • 通过右键单击Windows资源管理器中的文件或文件夹启动控制台,然后在“上下文菜单”中选择FileAudit。在这种情况下,前面的步骤将被跳过,因为文件/文件夹路径被直接导入FileAudit控制台。
  • 显示“文件访问查看器”并直接在“路径”字段中输入目标路径。您也可以在“文件访问查看器”中找到两个按钮来添加文件夹或文件。
  • 只需使用“Audit配置”部分中的两个贴图“添加文件夹”或“添加文件”即可。
另外,FileAudit总是检查在不同视图和设置中输入的每个路径的配置状态,例如:
  • “文件访问查看器”
  • 预定的报告配置
  • 定义警报规则
未发布 矢量图形引擎库VectorDraw Developer Framework v7.7012.0.2发布丨附下载
by Harriet666 keys 分享 1499325700094
VectorDraw Developer Framework(VDF)是一款构建2D、3D图形并用于应用程序可视化的矢量图形引擎库。有了VDF提供的功能,您可以轻松地创建、编辑、管理、输出、输入和打印2D和3D图形文件。该库还支持许多矢量和栅格输入和输出格式,包括本地PDF和SVG导出。
 
VectorDraw Developer Framework点击下载>>>
 
VectorDraw Developer Framework(VDF)v7.7012.0.2更新内容:

WebJS

新增需求(7.7012.0.1)
  • 70001107 支持vdPolyface对象的3d形状和GradientColors
  • 70001111 获取实体边界框
漏洞(7.7012.0.1)
  • 70001098 vdSelectionModified事件返回不正确
  • 70001108 具有厚度的vdPolyline的osnaps无法显示

Engine

新增需求(7.7012.0.1)
  • 70001096 无法选择带有窗口选择的多面体
  • 70001105 改进GradientColors
  • 70001106 cmdMultiline自我解析
漏洞(7.7012.0.1)
  • 70001102编辑文字时EditText的问题
  • 70001109如果在没有GetGripSelection方法的情况下添加选择,则不会引发GripModified事件
  • 70001110 Mtext呈现不正确
  • 70001113 3D模式中的文本线型显示错误

试用、下载、了解更多产品信息请点击"咨询在线客服"  

VectorDraw File Converter

未发布 ActiveX组件CADViewX v12发布,支持最新的AutoCAD®DWG 2018版本
by Harriet666 keys 分享 1497342612988
CADViewX一款能让应用程序具有强大CAD图像浏览和打印功能的图像处理工具,无需任何CAD软件或查看器即可打开、浏览、打印AutoCAD等几十种格式的图像文件,还能享受直观的鼠标滚轮缩放、拖拽、平铺印画功能。
 
【CADViewX 12最新版下载>>>】
 
CADViewX v12更新内容

CADViewX v12是用于导入和导出CAD文件的新版本的ActiveX组件。
现在,CADViewX Lite支持最新的DWG版本 - AutoCAD®DWG 2018。借助CADViewX Lite开发的应用程序将能够查看最新的图纸。
c971427152d14ce4b2f480de2dc696d5ojpg
要测试CADViewX Lite并将DWG 2018查看功能添加到应用程序中,请下载试用>>>
 
 

试用、下载、了解更多产品信息请点击"咨询在线客服"   
7
未发布 电子邮件.NET控件MailBee.NET Objects v11.1发布丨附下载
by Harriet666 keys 分享 1497431589248
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!
 

MailBee.NET Objects v11.1最新版下载>>>


v11.1更新内容:

  • 使用DNS RBL执行垃圾邮件过滤的新RblFilter类。
  • 更好地支持.NET Core和Xamarin中的证书。现在可以在SSL/TLS连接和DKIM中使用客户端证书。
  • Imap.SetSeenForEntireMessages默认为false。这意味着MailBee在下载整个邮件时不会设置SEEN标志,除非你更改此属性值。
  • 新的Global.DnsServers属性会覆盖当前系统分配的DNS服务器的默认列表。如果当前平台不支持DNS服务器自动检测(例如Xamarin),该功能则非常有用。
  • 新的TimeStamp.IP属性,显示邮件的IP地址来源。
  • 改进了Outlook .MSG文件中内联图像的自动检测功能。
  • bug修复。

试用、下载、了解更多产品信息请点击"咨询在线客服"   

 
未发布 MailBee.NET Objects接收电子邮件(POP3)教程三:POP3认证
by Harriet666 keys 分享 1500972453843
MailBee.NET Objects是一款为创建、发送、接收以及处理电子邮件而设计的健壮、功能丰富的.NET控件。几行代码便可为应用程序添加E-Mail支持,简单高效。具备“必需”以及独特的功能,这些控件帮助开发人员简单快速地将复杂的电子邮件功能添加到他们的应用程序中。
 
 
本文主要介绍了POP3认证的代码示例。目前MailBee.NET Objects在线订购享75折优惠正在进行中,欢迎您下载试用版进行运用!
要登录POP3帐户,你必须提供有效的帐户名称(也称为用户名,登录名等)和密码。
C#
Pop3 pop = new Pop3();
pop.Connect("mail.domain.com");
pop.Login("jdoe", "secret");

VB.NET
Dim pop As New Pop3() 
pop.Connect("mail.domain.com")
pop.Login("jdoe", "secret")
 
某些服务器要求帐号名称包含域名部分(例如jdoe@domain.com)。
许多POP3服务器支持多种认证机制来进行安全认证。默认情况下会使用更安全的身份验证方法。你可以使用Login方法的其他重载来覆盖此行为(如果服务器错误地执行某些身份验证方法)。例如,上面的代码强制MailBee仅尝试APOP方法(APOP是特定于POP3协议的安全认证方法,由许多POP3服务器支持):
C#
Pop3 pop = new Pop3();
pop.Connect("mail.domain.com");
pop.Login("jdoe", "secret", AuthenticationMethods.Apop);

VB.NET
Dim pop As New Pop3() 
pop.Connect("mail.domain.com")
pop.Login("jdoe", "secret", AuthenticationMethods.Apop)
 
或者,你可以强制MailBee首先尝试简单的身份验证方法,并且只有在服务器不支持简单的方法时才使用安全方法。下面的示例代码使用最简单的身份验证方法进行登录。如果服务器支持基本的明文USER / PASS认证则会使用它。但是,如果USER / PASS方法未启用(假设服务器仅支持安全的SASL NTLM),那么MailBee将使用该方法。
C#
pop.Login("jdoe", "secret", AuthenticationMethods.Auto, AuthenticationOptions.PreferSimpleMethods, null);

VB.NET
pop.Login("jdoe", "secret", AuthenticationMethods.Auto, AuthenticationOptions.PreferSimpleMethods, Nothing)

MailBee还支持Windows集成身份验证(使用当前记录的Windows用户的凭据登录)。如下所示:
C#
pop.Login(null, null, AuthenticationMethods.SaslNtlm);

VB.NET
pop.Login(Nothing, Nothing, AuthenticationMethods.SaslNtlm)
 
但是,如果你正在开发在匿名IIS或ASP.NET用户中运行的ASP.NET应用程序(因为当前记录的用户将是IIS用户而不是使用该应用程序的人员),则无法使用它。
未发布 2017年8个最流行的Web编程趋势
by Harriet666 keys 分享 1500361642329
互联网一直在不断的发展,这意味着开发人员必须及时了解当前的所有变化。人们在新闻、社交、购物到银行等各大方面都与互联网有着千丝万缕的联系。因此,为了满足全球数百万网络用户的需求,Web开发需求正在上升。Web编程趋势是在W开发的过程中不断变化,不断创新,并逐步淘汰已经过时的想法。以下是2017年你可能会看到的一些当前的Web编程趋势:

1. 360度视频

视频曾一度统治互联网,它能确保那些在线的人参与互动,并吸引受众停留更长的时间。随着网页上视频的观看次数显着增加,从长远来看,也可以带来更多的转化。

360 Degree Video
 

2. Ruby on Rails

这是一个越来越多开发人员喜欢使用的集合。通过它,你可以创建单页应用程序,而不需要依赖于java中的框架。此外,该集合可以确保使用它的人做到最好。
Ruby on Rails
 

3. Motion UI

这一直是一个趋势。开发人员正在使用Motion UI创建具有生命力的网站,并且还会对登录到其中的每个用户做出反应。这是出现在你屏幕上的特殊效果。
Motion UI
 

4. 材料设计

材料设计基本上是Google的一种哲学,它定义了应用程序在无线设备上的外观和性能。使用它可以更改所有类型,包括网站的风格和动画在布局中显示的方式。在视觉上,它正在成为开发人员的关键工具。
Material Designs
 

5. 静态网站生成器

当你正在寻找创建在服务器上运行的网站时,你应该考虑这一点。这是一个趋势,因为它是创建网站的绝佳方式。创建的文件大大简化了,因为它们存储在除数据库之外的文件中。其拥有流量、安全性、速度和易于操作等优点。加载网站更容易、更安全。
Static Website Generators
 

6. 单页面网站

浏览多个标签、以及链接到更多页面的网页已经是过去式了。现在用户正在选择单页面的网站、博客等类型。他们使用更方便,特别是在人们在旅途中的移动设备上。
Single Page Websites
 

7. Angular 2 

Angular 2带来了很多转变,例如Google的JavaScript框架,这是完全重新设计的。它的好处是它利用了JavaScript ES6中的功能。这意味着未来的Web开发将变得更容易和有效。
Angular 2 and Beyond
 

8. 虚拟现实

这是未来Web开发中一个重要的趋势,特别是在游戏行业。它开始于Vive和Oculus Rift的到来,为游戏世界带来了巨大的可能性。像Google和Mozilla这样的全球性公司带来的API将有助于虚拟现实的转型。
Virtual Reality
Web开发人员必须了解Web编程的最新趋势,以便设计符合这些趋势的网站以及增加用户体验的网站。随着互联网的快速发展,这些趋势也会随之而变。因此,随时了解行业趋势是非常有用的。
未发布 集成的HTTP嗅探器HttpWatch更新至v11.1.19丨附下载
by Harriet666 keys 分享 1516179574153
 HttpWatch是一款集成的HTTP嗅探器,为IE和Firefox提供新的方法以查看您网站的负载和运行情况。你可以直接在浏览器中调试由web页面生成的网络流量,而无需切换到一个单独的工具。
  • 新增功能:为Chrome和Selenium添加了表单填写自动化示例程序
  • 新增内容:向Chrome自动化类添加了HttpWatchCRX属性,以便与Selenium一起使用
  • 更改:删除了基于Watir的自动化示例代码
 
HttpWatch v11.1.15
  • 修复:在工具 - >选项 - >录制中输入值时,HttpWatch会进入无限的验证循环
未发布 屏幕记录机BB FlashBack v5.26.0发布丨附下载
by Harriet666 keys 分享 1499138524647
BB FlashBack是一种屏幕记录器,能快速容易地创建视频。有详尽的软件阐述、屏幕演示、介绍、指南以及练习。目前BB FlashBack在线订购享75折优惠活动正在进行中,欢迎您下载、购买进行运用!
 
【BB FlashBack v5.26最新版下载>>>】

v5.26.0更新内容:

  • 修复:首次显示网络摄像机预览窗口时,可能会错误地显示某些网络摄像头。
  • 修复:WMV导入时可能会显示“division by zero”的错误。
  • 修复:当视频包含暂停时导出到Quicktime的问题。
  • 修复:快速批量导出器应该只导出最大的WMV格式。
  • 修复:如果选择了未显示的帧,则无法隐藏摄像头。
  • 简化MP4导出的缩放选项。
  • 修复:批处理导出一些FBR文件时崩溃的问题。
  • 将最大摄像头FPS增加到30。
  • 修复:相同命名的声源造成的问题。
  • 针对8Gb及以上的电脑,当录音停止时,现在默认打开。
  • 修复:使用文件大小限制时,记录器可能会尝试保存为临时文件夹。
  • 修复:使用“打开”功能时,播放器不会默认使用以前的文件夹。

试用、下载、了解更多产品信息请点击"咨询在线客服"   



 近期热门 - 点击最多
  1. ZOT 极简而强大的 Docker OCI 镜像仓库
  2. 用podman代替docker更轻量更安全的云原生容器:替换国内镜像源web窗口管理及开机自动重新启动
  3. python基于asyncio实现 Redis 的异步操作哈希数据写入 / 读取、发布订阅消息中间件
  4. Node.js 打印vite react+go项目目录树
  5. Angular入门:用Signals状态管理和Bootstrap基础样式实现的用户登录注册实例教程
  6. 用Gitea搭建免费Git服务器自定义Actions配置CI/CD自动化部署和测试流水线
  7. FastAPI+SQLModel+PostgreSQL+React+Vite全栈项目文件结构说明环境搭建与初始化指南
  8. React结合vite使用vue3,在纯typescript的react hooks中使用vue
  9. valtio基于Proxy代理比redux\zustand更简洁的react状态管理库
  10. React Native为http网络请求添加timeout超时异常处理: 用XMLHttpRequest替换fetch发送的区别

  全端社区 - 最新回复
  1. 本地与云 MQTT通信:消息格式定义与配置
  2. MQTT 桥接(Bridging)介绍:解决弱网可靠传输、断网续传
  3. Mosquitto消息中间件简介与部署:本地MQTT服务器部署
  4. MediaMTX 摄像头部署与配置教程
  5. 在网页上播放摄像头RTSP视频流:实时摄像头在线播放的几种架构
  6. 让Docker在Gitea CI/CD流水线中登录http仓库:手写Docker认证信息
  7. ZOT 极简而强大的 Docker OCI 镜像仓库
  8. 用podman代替docker更轻量更安全的云原生容器:替换国内镜像源web窗口管理及开机自动重新启动
  9. 在无管理员权限的情况下,使用安装Python补全pip临时配置环境变量;即零权限使用node.js/npm
  10. Python鉴权方法:Depends 依赖注入;装饰器;与基于Proxy模式的Session状态管理自动计算脏属性;将用户数据存储在Redis中

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA