Com*_*ius 3 c# file-upload dicom
我正在尝试将 DICOM 文件上传到本地 Orthanc 服务器,但出现以下错误:
Unknown Tag & Data (2d2d,6664) larger (1647393075) than remaining bytes (76) in file, premature end of stream
E0424 16:02:20.786940 FromDcmtkBridge.cpp:1925] Cannot parse an invalid DICOM file (size: 84 bytes)
Run Code Online (Sandbox Code Playgroud)
我编写了以下代码将文件上传到服务器:
DicomFile dicomfile = new DicomFile(dataset);
dicomfile.Save("dicomfile.dcm");
////finally uploading the file to Orthanc
String dcm = File.ReadAllText("./test9signedLimited.dcm");
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Add("ContentType", "multipart/form-data");
HttpContent content = new MultipartFormDataContent();
content.Headers.ContentType= new MediaTypeHeaderValue("multipart/form-data");
var response = client.PostAsync("http://localhost.:18888/instances", content).Result;
response.EnsureSuccessStatusCode();
var r = response.Content.ReadAsStringAsync().Result;
Run Code Online (Sandbox Code Playgroud)
请注意,我尝试使用 POSTMAN 上传相同的文件,并且已成功上传到那里。
提前感谢您的帮助。
对 C# 一无所知,但我目前看到代码中有两个问题。
File.ReadAllText从磁盘读取 DICOM 文件,它返回一个String. 这似乎不对,因为 DICOM 是一种二进制格式,将其转换为字符串很可能会破坏它。您更有可能需要一个带有 DICOM 数据的字节数组来附加到 POST 请求。