Asp.net mvc 来自WebImage的asp.net mvc和文件名

Asp.net mvc 来自WebImage的asp.net mvc和文件名,asp.net-mvc,razor,Asp.net Mvc,Razor,我尝试使用WebImage从上传的文件中获取文件名,如下所示: var imageName = new WebImage(file.InputStream).FileName; 但是FileName属性总是返回null 也许我遗漏了什么?我认为只有在使用WebImage(字符串文件名)构造函数时才能设置FileName属性。您应该能够从file对象获取文件名。其他属性,如高度、宽度等应该可以正常工作。我认为只有在使用WebImage(字符串文件名)构造函数时才能设置文件名属性。您应该能够从fi

我尝试使用WebImage从上传的文件中获取文件名,如下所示:

var imageName = new WebImage(file.InputStream).FileName;
但是FileName属性总是返回null


也许我遗漏了什么?

我认为只有在使用
WebImage(字符串文件名)
构造函数时才能设置
FileName
属性。您应该能够从
file
对象获取文件名。其他属性,如
高度
宽度
等应该可以正常工作。

我认为只有在使用
WebImage(字符串文件名)
构造函数时才能设置
文件名
属性。您应该能够从
file
对象获取文件名。其他属性,如
高度
宽度
等,应该可以正常工作。

当您编写
新WebImage(file.InputStream)
时,您是从原始流创建
WebImage
对象。
您从未向它传递任何带有名称的内容,因此
FileName
属性为
null


您应该使用
HttpPostedFile
对象中的
file.FileName
属性。

当您编写
新WebImage(file.InputStream)
时,您正在从原始流创建
WebImage
对象。
您从未向它传递任何带有名称的内容,因此
FileName
属性为
null


您应该使用
HttpPostedFile
对象中的
file.FileName
属性。

我查看了您与Reflector一起使用的构造函数的源代码,他们没有设置文件名的位置

但是您可能可以使用

var fileName = Request.Files[0].FileName;
它是唯一设置文件名属性的构造函数:

public WebImage(string filePath) 
   : this(new HttpContextWrapper(HttpContext.Current), filePath) {}

当然,它使用的是私有的。

我查看了您与Reflector一起使用的构造函数的源代码,他们没有设置文件名的地方

但是您可能可以使用

var fileName = Request.Files[0].FileName;
它是唯一设置文件名属性的构造函数:

public WebImage(string filePath) 
   : this(new HttpContextWrapper(HttpContext.Current), filePath) {}

当然还有它使用的私有文件。

要获取上传文件的文件名,您可以从请求中获取图像,然后对其调用此函数

var imageName = new WebImage(file.InputStream).FileName;
…应该是

var image = WebImage.GetImageFromRequest().FileName;

这是请求中上载的图像的属性。

要获取上载文件的文件名,可以从请求中获取图像,然后对其调用此函数

var imageName = new WebImage(file.InputStream).FileName;
…应该是

var image = WebImage.GetImageFromRequest().FileName;

这是在请求中上载的图像的属性。

Request.Files[0]。FileName将从我的本地磁盘获取文件的完整url:c:\images\image.jpgRequest.Files[0]。FileName将从我的本地磁盘获取文件的完整url:c:\images\image.jpg