[英]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.