C# Tiff图像处理
我想将Tiff图像传递给web服务,web服务将Tiff图像作为参数,我必须对Tiff图像执行一些操作 请向我推荐一种将Tiff图像作为参数传递到web服务的好方法 提前谢谢C# Tiff图像处理,c#,web-services,C#,Web Services,我想将Tiff图像传递给web服务,web服务将Tiff图像作为参数,我必须对Tiff图像执行一些操作 请向我推荐一种将Tiff图像作为参数传递到web服务的好方法 提前谢谢 使用带有enctype=“multipart/form data”的HTML表单上传TIFF 使用HttpFileCollection files=HttpContext.Current.Request.files以访问上载的文件:HttpPostedFile file=files[“id\u of_field\u wit
enctype=“multipart/form data”
的HTML表单上传TIFFHttpFileCollection files=HttpContext.Current.Request.files在web服务(表单的操作
属性)中的code>以访问上载的文件:HttpPostedFile file=files[“id\u of_field\u with_filename”]代码>。这里“id\u of_field\u with_filename”是包含文件名的HTML表单的
标记的id属性
file.SaveAs(someDirectory+Path.GetFileName(file.FileName))代码>
请注意,在此解决方案中,web服务的方法(“操作”)没有任何参数。还可以使用HTML5文件API加载图像,使用JavaScript将其转换为base64,并通过AJAX POST将该字符串上传到web服务。在这种情况下,web服务的方法需要一个字符串参数来接收图像的base64编码字节。web服务可以接受
字节[]
或流作为输入参数
这是一个以字节[]形式传入Tiff文件的示例:
byte[]fileBlob=新字节[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;
这一切都取决于web服务。我建议您检查API和任何示例文档(如果可用)。