簡體   English   中英

Tiff圖像處理

[英]Tiff Image Processing

我想將Tiff圖像傳遞到Web服務,Web服務將Tiff圖像作為參數,並且我必須對Tiff圖像進行一些操作。

請給我建議一種將Tiff圖像作為參數傳遞給Web服務的好方法。

提前致謝。

  1. 使用帶有enctype="multipart/form-data"的HTML表單上載TIFF。
  2. 使用HttpFileCollection files = HttpContext.Current.Request.Files; 在Web服務中(表單的action屬性)以訪問上載的文件: HttpPostedFile file = files["id_of_field_with_filename"]; 這里的“ id_of_field_with_filename”是包含文件名的HTML表單的<input>標記的id屬性。
  3. 您可以對上傳的文件執行任何操作,例如,將其保存: 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM