【问题标题】:How I can display Stream on the page?如何在页面上显示 Stream?
【发布时间】:2013-05-14 22:42:03
【问题描述】:

我有一个正在调用的 WCF 方法,该方法假设创建一个文件,但它会创建一个异常。我尝试查找传递给此方法的流请求中的内容。我如何提醒或写入此流以便找到内容。这是我的方法:

    Stream UploadImage(Stream request)
    {

        Stream requestTest = request;



        HttpMultipartParser parser = new HttpMultipartParser(request, "data");
        string filePath = "";
        string passed = "";
        if (parser.Success)
        {


            // Save the file somewhere 
            //File.WriteAllBytes(FILE_PATH + title + FILE_EXT, parser.FileContents);

            // Save the file 
            //SaveFile( mtp.Filename, mtp.ContentType, mtp.FileContents);
            FileStream fileStream = null;
            BinaryWriter writer = null;


            try
            {


                filePath = HttpContext.Current.Server.MapPath("Uploded\\test.jpg");  // BuildFilePath(strFileName, true);    
                filePath = filePath.Replace("SSGTrnService\\", "");

                fileStream = new FileStream(filePath, FileMode.Create);

它在这一行产生一个错误:

fileStream = new FileStream(filePath, FileMode.Create);

我试图理解为什么无法创建文件。

【问题讨论】:

  • 您能否更新一下您收到的异常问题?

标签: c# wcf filestream


【解决方案1】:

鉴于您提供的信息,我只能假设您的代码尝试在不允许您的应用程序写入的地方创建文件test.jpg。一个常见的错误是在Program files 文件夹中的某个地方。在现代 Windows 版本中,这是受到特殊保护的。

【讨论】:

  • 实际上,当我通过常规 HTML 调用它时它正在工作,但我正在从 Android 应用程序发送一个流并且它不起作用所以我想知道也许我没有发送一个 wight 的东西所以我想看看什么我正在发送。
  • 使用fileStream = new FileStream(filePath, FileMode.Create); 行,您根本不会发送任何内容。您只需在filePath 创建一个文件。你说这就是产生错误的原因。而且您仍然没有给我们错误本身:)
  • 哦,好的错误是:对象引用未设置为对象的实例。
  • 你绝对确定它来自那条线?您实例化FileStream 的那个?因为这意味着您的 filePath 变量将为空,并且实际上已经在此之前的行中抛出。
  • 实际上我已经输入了数字来查看产生错误的位置:所以我在这一行之后得到错误:fileStream = new FileStream(filePath, FileMode.Create);
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多