如果文件不存在,则转义字节数组错误

本文关键字:字节 字节数 数组 错误 转义 文件 不存在 如果 | 更新日期: 2023-09-27 18:25:07

我需要发送类似字节数组的文件。

首先我创建文件路径:

saveLocation = Path.Combine(Server.MapPath("~/temp"), filename);

其中文件名是文件名。当我定义路径时,我必须调用其他方法:

public string upload_b(string filepath)
{
    SomeService service = new SomeService();
    byte[] b = System.IO.File.ReadAllBytes(filepath);
    return service.upload_b(b);
}

现在,若我并没有文件名,我会得到错误,因为文件找不到。

我想用if来检查它,然后定义字节数组,但我不能在if中定义变量,我以前也不知道定义字节数组的大小。

请帮忙,谢谢

如果文件不存在,则转义字节数组错误

您可以在if语句之前声明变量,并在if语句中为其赋值。您不需要通过这种方式知道阵列的容量。或者,您可以在尝试访问文件的位置捕获FileNotFound异常,这将是一个更好的解决方案,但前提是通常文件是存在的,而有时文件不存在。

编辑,我正在考虑以下内容:

byte[] b;
if (File.Exists(filepath))
{
   b = System.IO.File.ReadAllBytes(filepath);
   //...
}
else
{
   //...
}

或者,尝试-捕获方法:

byte[] b;
try
{
   b = System.IO.File.ReadAllBytes(filepath);
   //...
}
catch(FileNotFoundException e)
{
   //...
}