通过WCF服务上传图像文件的解决方案?

时间:2018-05-29 10:43:03

标签: rest wcf wcf-binding wcf-web-api

最近3-4天在线下载,运行和修复可用的在线演示项目的问题,到目前为止,它们都没有工作。

我需要使用WCF webservice上传图像。从客户端到哪里我喜欢通过表单(multipart / form-data)上传它,包括一些文件描述。

任何有正确答案的解决方案?我的想法是堆叠溢出尝试不同的解决方案。我最初拥有的一个,我能够上传一个文本文件,其中创建文件,其中包含一些额外的内容。我需要上传图片文件。

  

------------ cH2ae0GI3KM7GI3Ij5ae0ei4Ij5Ij5   
内容 - 处置:表格数据;命名= \"文件名\"   
  
测试文件上传...

当我上传图片文件时,图片文件为空。

初始代码(一次植入),通过这种方法,我获得了如上所述的.txt文件,以防图像空白(或者说腐败不知道)

    private string uplaodFile(Stream stream)
    {
        StreamReader sr = new StreamReader(stream);
        int length = sr.ReadToEnd().Length;
        byte[] buffer = new byte[length];
        stream.Read(buffer, 0, length);
        FileStream f = new FileStream(Path.Combine(HostingEnvironment.MapPath("~/Upload"), "test.png"), FileMode.OpenOrCreate);
        f.Write(buffer, 0, buffer.Length);
        f.Close();
        stream.Close();
        return "Recieved the image on server";
    }

另一个;

public Stream FileUpload(string fileName, Stream stream)
        {
            string FilePath = Path.Combine(HostingEnvironment.MapPath("~/Upload"), fileName);
            int length = 0;
            using (FileStream writer = new FileStream(FilePath, FileMode.Create))
            {
                int readCount;
                var buffer = new byte[8192];
                while ((readCount = stream.Read(buffer, 0, buffer.Length)) != 0)
                {
                    writer.Write(buffer, 0, readCount);
                    length += readCount;
                }
            }

            return returnJson(new { resp_code = 302, resp_message = "occurred." });
        }

0 个答案:

没有答案