【问题标题】:Close file after ReadAllBytesReadAllBytes 后关闭文件
【发布时间】:2015-02-25 03:46:34
【问题描述】:

我想将文件转换为 byte[] 然后保存。但是在保存时说该文件正在使用中。将文件读取为字节后如何关闭文件?

  void Function(string UploadPath, RadAsyncUpload RadAsyncUploadName)
    {
        foreach (UploadedFile file in RadAsyncUploadName.UploadedFiles)
        {
            FileStream tmpFile = (FileStream)file.InputStream;
            byte[] data = File.ReadAllBytes(tmpFile.Name);
            //close the file here
            Function2(data);
            file.SaveAs(Server.MapPath(UploadPath)+file.GetName());
        }
    }

【问题讨论】:

    标签: c# asp.net file system.io.file


    【解决方案1】:

    您不需要定义文件流——只需使用带有 readallbytes 的文件名。

    【讨论】:

      【解决方案2】:

      一旦您读取了流中的所有字节,您似乎无法再使用 UploadedFile.SaveAs。我会先另存为,然后打开保存的文件并阅读它。或者,您可以将字节数组写回到您打算将数据保存到的文件中。

      【讨论】:

      • 好主意...但是您的意思是在将文件读取为字节后无法关闭文件?可能在另存为之前应该完成一些过程。
      • 看起来你正在使用 Telerik 框架,它把事情抽象出来。您必须阅读文档才能了解幕后发生的事情。
      猜你喜欢
      • 2018-09-06
      • 2021-04-18
      • 2020-09-06
      • 1970-01-01
      • 1970-01-01
      • 2019-07-03
      • 1970-01-01
      • 2015-05-24
      • 1970-01-01
      相关资源
      最近更新 更多