[英]Tiff Image Processing
我想將Tiff圖像傳遞到Web服務,Web服務將Tiff圖像作為參數,並且我必須對Tiff圖像進行一些操作。
請給我建議一種將Tiff圖像作為參數傳遞給Web服務的好方法。
提前致謝。
enctype="multipart/form-data"
的HTML表單上載TIFF。 HttpFileCollection files = HttpContext.Current.Request.Files;
在Web服務中(表單的action
屬性)以訪問上載的文件: HttpPostedFile file = files["id_of_field_with_filename"];
。 這里的“ id_of_field_with_filename”是包含文件名的HTML表單的<input>
標記的id屬性。 file.SaveAs(someDirectory + Path.GetFileName(file.FileName));
請注意,在此解決方案中,Web服務的方法(“操作”)沒有任何參數。 也可以使用HTML5 File API加載圖像,使用JavaScript將其轉換為base64,然后通過AJAX POST將該字符串上傳到Web服務。 在這種情況下,Web服務的方法需要具有字符串參數才能接收圖像的base64編碼的字節。
Web服務可以接受byte[]
或Stream
作為輸入參數。
這是如何將Tiff文件作為byte []傳遞的示例:
byte[] fileBlob = new byte[FileUploadControl1.PostedFile.InputStream.Length];
FileUploadControl1.PostedFile.InputStream.Read(fileBlob, 0, (int)FileUploadControl1.PostedFile.InputStream.Length);
svc.UploadFile(fileBlob);
本示例基於C#ASP.NET。
我將通過以下方式進行操作:
//get image from file or smth.
Image img = Image.FromFile(filename);
byte[] bytes;
using (MemoryStream ms = new MemoryStream())
{
img.Save(ms, ImageFormat.Tiff);
bytes = ms.ToArray();
}
string ret = Convert.ToBase64String(bytes);
return ret;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.