我尝试使用WebImage从上传的文件中获取文件名,如下所示:
var imageName = new WebImage(file.InputStream).FileName;
但FileName属性始终返回null
也许我错过了什么?
答案 0 :(得分:2)
要获取已上传文件的文件名,您可以从请求中获取图像,然后在其上调用此函数。
var imageName = new WebImage(file.InputStream).FileName;
..将是
var image = WebImage.GetImageFromRequest().FileName;
这是在请求中上传的图像的属性。
答案 1 :(得分:1)
我认为只有在使用FileName
构造函数时才会设置WebImage(String filename)
属性。您应该能够从file
对象获取文件名。其他属性(例如Height
,Width
等)应该可以正常工作。
答案 2 :(得分:1)
当您编写new WebImage(file.InputStream)
时,您正在从原始流创建WebImage
对象
您永远不会传递任何带有名称的内容,因此FileName
属性为null
。
您应该使用file.FileName
对象中的HttpPostedFile
属性。
答案 3 :(得分:1)
我正在查看您使用Reflector的构造函数的源代码,并且没有设置文件名的位置。
但您可以使用
获取文件名var fileName = Request.Files[0].FileName;
它只有这个构造函数设置文件名属性:
public WebImage(string filePath)
: this(new HttpContextWrapper(HttpContext.Current), filePath) {}
当然还有它使用的私人。