我需要像字节数组一样发送文件。
首先我创建文件路径:
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
中定义变量,并且我不知道之前定义它的字节数组的大小。
请帮忙, 谢谢
答案 0 :(得分:1)
您可以在if语句之前声明变量,并在if语句中为其赋值。您不需要以这种方式了解阵列的容量。或者您可以在尝试访问该文件的位置捕获FileNotFound-Exception,这将是一个更好的解决方案,但只有当文件通常存在并且只有文件不存在时才有效。
编辑,我想的是以下内容:
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)
{
//...
}