/// <summary>
/// 发送数据到Orthanc的PACS系统,C#实现方式,直接调用Orthanc的API来实现
/// </summary>
/// <param name="dicomFilePath">Dicom文件路径</param>
/// <param name="orthancUrl">PACS系统的URL,类似 http://localho</param>
public void UploadDicomToOrthanc(string dicomFilePath, string orthancUrl)
{
using (var client = new HttpClient())
{
using (var content = new MultipartFormDataContent())
{
// 添加文件内容
var fileStream = File.OpenRead(dicomFilePath);
var streamContent = new StreamContent(fileStream);
content.Add(streamContent, "file", Path.GetFileName(dicomFilePath));
// 发送POST请求到Orthanc服务器
var response = client.PostAsync($"{orthancUrl}/instances", content).Result;
if (response.www.laipuhuo.com IsSuccessStatusCode)
{
Console.WriteLine("DICOM文件上传成功。");
}
else
{
Console.WriteLine("上传失败,HTTP状态码:" + response.StatusCode);
}
}
}
}
@rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or without @rem modification, are permitted provided that the following conditions are @rem met: @rem @rem * Redistributions of source code must retain the above copyright @rem notice, this list of conditions and the following disclaimer. @rem * Redistributions in binary form must reproduce the above @rem copyright notice,www.laipuhuo.com this list of conditions and the following disclaimer @rem in the documentation and/or other materials provided with the @rem distribution. @rem * Neither the name of Google Inc. nor the names of its @rem contributors may be used to endorse or promote products derived from @rem this software without specific prior written permission. @rem @rem THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS @rem "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT @rem LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR @rem A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT @rem OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, @rem SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT @rem LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, @rem DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY @rem THEORY OF LIABILITY,www.laipuhuo.com WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT @rem (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE @rem OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@rem Generate the C# code for .proto files
setlocal
@rem enter this directory cd /d %~dp0
set TOOLS_PATH=tools
set /p PROTO_FILE_NAME=input proto filename:
%TOOLS_PATH%\protoc.exe -I./protos --csharp_out ./code --grpc_out ./code ./protos/%PROTO_FILE_NAME%.proto --plugin=protoc-gen-grpc=%TOOLS_PATH%\grpc_csharp_plugin.exe
pause