
| 推荐厂商 | 功能 | 活动内容 |
|---|---|---|
| DevExpress | 提供全球顶级.NET界面控件,中国独家代理 | 全线产品单套6.7折,多套更优惠,查看详情>>> |
| Fastreport全线产品 | 功能齐全、快速有效的报表解决方案 | 在线订购年终回馈价6.5折!立即购买>>> |
| Aspose | 顶尖的文档处理工具 | Total版惊喜价6折!查看更多>>> |
| Kendo UI | 创建数据丰富的Web应用程序的最完整UI库 | Telerik全线产品6.5折优惠,查看详情>>> |
| BCGSoft | 全球最优秀的MFC界面类库 | 全线产品6.5折全年最低,立即查看>>> |
| Dynamsoft | 版本控制和事件跟踪软件应用程序领域的领先开发商 | 全线产品6.7折终极回馈,立即查看>>> |
| VectorDraw | 优秀的矢量绘图控件,支持2D和3D图形 | 全线产品6.6折冰点价!点击购买>>> |
| 点击查看更多厂商 | ||
郑重承诺:慧都所售产品均为厂商授权的正版产品,请完全放心!
*想要了解更多优惠信息?请咨询慧都客服>>>
*本活动最终解释权归慧都科技所有
咨询热线: 400-700-1020(免费) 023-66090381



<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>



![]() | Code-First服务器对Remoting SDK 9最重要的加强是增加了新的Code First服务器。忽略在Service Builder中手动定义服务接口,并保持RODL和代码同步。 只需在代码中定义你的服务,Remoting SDK就完成了。同时支持.NET和Delphi服务器。
| |
![]() | 所有新的CodeGen使用开源CodeGen4框架可以完全修改和简化Remoting SDK客户端存根的代码生成。实际上Remoting SDK-specific codegen logic也是开源的,如有必要,你可以很容易地调整它来满足的需要。 这是Mac和Windows 的rodl2code命令行工具并集成到Fire,Visual Studio,Delphi和Service Builder的补充。
| |
![]() | Mac新的Service Importer app我们还为Mac创建了一个全新的应用程序,用于连接到远程服务,导入其RODLs并使用CodeGen4为所有语言生成必要的代码存根。开发人员在不使用IDE与专用的Remoting SDK集成的情况下仍然可以轻松连接。
| |
![]() | 在Swift中创建构建服务器Mac和iOS开发人员现在可以在他们的Mac(使用我们免费的Swift编译器和IDE、Fire)上的Swift中创建服务器应用程序,并将它们部署到Linux、Windows和Mac OS X服务器中。 阅读有关Fire的更多信息或浏览Remoting SDK 文档。 当然,你也可以在Fire、for Cocoa、Java / Android和.NET中创建客户端应用程序。
| |
![]() | 完全支持SwiftRemoting SDK 9使用Xcode或Elements添加了在Swift中编写客户端的功能。支持Swift CodeGen并优化和注释了该库。 | |
![]() | 连接服务器的新工作流程连接服务器的新工作流程 在所有三个IDE中,使用新的“连接到服务器”菜单选项可以简化将任何客户端应用程序项目连接到服务器的过程。只需将IDE指向你的服务器的URL,你的项目将自动变成一个Remoting SDK客户端,并创建所有必要的引用和代码存根。 新的.remoteRODL文件让你的客户端项目与服务器保持同步,并且一个新的ServerAccess类存根将帮助你开始调用你的服务器。
| |
![]() | 改进SSL&TSL安全通信比以往更重要,Remoting SDK可以让你的服务器通过HTTPS和TLS进行安全通信变得非常容易。无论你使用的是自动生成、自签名还是已购买的证书,现在都可以设置两个属性来实现安全连接。
| |
![]() | 减少样板代码我们已经从根本上抽出了很多需要的板卡代码来使一个服务器完全运行起来。 使用RO9,你现在可以使用一行虚拟代码启动一个服务器 - 包括支持运行组合模式(GUI、命令行和后台服务)、设置SSL等。
| |
![]() | 创建watchOS应用程序Remoting SDK 9增加了从Apple Watch apps连接到你的服务器的功能,让你的用户可以直接在手腕上访问网络驱动的信息。
| |
![]() | 创建tvOS应用程序同样,你现在可以在你的tvOS apps中使用Remoting SDK客户端功能,将你的数据和服务器内容呈现到大屏幕上。 watchOS和tvOS客户端库都使用与现有的iOS和OS X库相同的代码库,因此在所有四个Apple平台上共享客户端代码非常容易。
|
慧都十四周年狂欢开启,Dynamic Web TWAIN终极让利7折特惠
限时一个月,错过不再有,马上咨询>>>此次更新和改进仅适用于Windows Edition。
用于1D条形码的新de-blur算法,可以提高在模糊图像中扫描线性条形码时的精度。
新的多线程处理可以提高1D条形码的扫描精度。
添加了新的API,你可以指定页码、条形码区域、条形码宽度、条形码高度、条形码模块大小和条形码角度来进行条形码检测。这大大提高了解码工作和条形码读取的效率。
