C# Tiff图像处理

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

我想将Tiff图像传递给web服务,web服务将Tiff图像作为参数,我必须对Tiff图像执行一些操作

请向我推荐一种将Tiff图像作为参数传递到web服务的好方法

提前谢谢

  • 使用带有
    enctype=“multipart/form data”
    的HTML表单上传TIFF
  • 使用
    HttpFileCollection files=HttpContext.Current.Request.files操作
    属性)中的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和任何示例文档(如果可用)。