相关疑难解决方法(0)

在ASP.NET 5中使用MimeMapping(vNext)

我正在尝试将我的旧mvc5项目移动到mvc6.旧代码是:

public string ContentType
{
    get
    {
        if (!string.IsNullOrEmpty(FileName))
            return MimeMapping.GetMimeMapping(FileName);
        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

错误是

当前上下文中不存在名称"MimeMapping"

在此输入图像描述

c# system.web mime-types asp.net-core-mvc

32
推荐指数
3
解决办法
1万
查看次数

在C#中设置MimeType

有没有一种更好的方法来设置C#中的mimetypes而不是我想要提前感谢的那种.

static String MimeType(string filePath)
{
  String ret = null;
  FileInfo file = new FileInfo(filePath);

  if (file.Extension.ToUpper() == ".PDF")
  {
    ret = "application/pdf";
  }
  else if (file.Extension.ToUpper() == ".JPG" || file.Extension.ToUpper() == ".JPEG")
  {
    ret = "image/jpeg";
  }
  else if (file.Extension.ToUpper() == ".PNG")
  {
    ret = "image/png";
  }
  else if (file.Extension.ToUpper() == ".GIF")
  {
    ret = "image/gif";
  }
  else if (file.Extension.ToUpper() == ".TIFF" || file.Extension.ToUpper() == ".TIF")
  {
    ret = "image/tiff";
  }
  else
  {
    ret = "image/" + file.Extension.Replace(".", ""); …
Run Code Online (Sandbox Code Playgroud)

c#

11
推荐指数
3
解决办法
2万
查看次数

为什么反射搜索突然找不到任何东西?

根据这个问题和答案,我有以下代码如何获取ASP.NET C#中请求的文件的MIME类型? 它工作得非常好:

    static MimeMappingWrapper()
    {
        // dirty trick - Assembly.LoadWIthPartialName has been deprecated        
        //Assembly ass = Assembly.LoadWithPartialName("System.Web");
        Assembly ass = Assembly.GetAssembly(typeof (HttpApplication));
        Type mimeMappingType = ass.GetType("System.Web.MimeMapping");

        GetMimeMappingMethod = mimeMappingType.GetMethod("GetMimeMapping", BindingFlags.Static | BindingFlags.NonPublic);
    }
Run Code Online (Sandbox Code Playgroud)

现在突然mimeMappingType.GetMethod("GetMimeMapping", BindingFlags.Static | BindingFlags.NonPublic)回来了null.

可能是什么原因?在应用程序中没有更改任何特殊内容,即使它是,它如何影响包装类的构造函数?

c# reflection mime-types

3
推荐指数
1
解决办法
323
查看次数