在Azure上更改已接受的MIME类型,无需更改Web.Config文件。

9 浏览
0 Comments

在Azure上更改已接受的MIME类型,无需更改Web.Config文件。

我想在我创建并通过FTP部署到Azure的网站上显示一个.mp4作为背景视频。不幸的是,访问背景视频总是给我返回404错误。这些页面都是使用AngularJS的.html文件。我想我需要为.mp4文件添加自定义的MIME类型。通常情况下,这可以在Web.Config中完成,但由于这只是我在Notepad++中编写的东西,我没有(除了这个问题之外,我真的没有需要)Web.Config。我在Azure门户网站的配置部分找到了连接字符串和appSettings的地方,但是我没有看到可以设置MIME类型的选项。在Azure门户网站上允许.mp4文件的方式是通过创建一个Web.Config文件并将其通过FTP上传吗?

0
0 Comments

问题的出现原因是用户想要在Azure上更改MIME类型,但是不想使用web.config文件来实现。用户希望能够通过Azure的门户进行配置,而不是依赖于.NET或IIS。

解决方法是通过以下步骤在Azure上更改MIME类型而不使用web.config文件:

1. 登录Azure门户并导航到所需的Web应用程序。

2. 在左侧的菜单中,选择“应用服务设置”。

3. 在“通用设置”下,找到“MIME类型”选项。

4. 单击“MIME类型”旁边的“编辑”按钮。

5. 在弹出的对话框中,单击“添加”按钮以添加新的MIME类型。

6. 输入所需的MIME类型和文件扩展名。

7. 单击“保存”按钮以保存更改。

通过上述步骤,用户可以在Azure上更改MIME类型而不依赖于web.config文件。这样,用户可以使用Node.js/Express等非.NET技术栈,并且可以避免使用IIS,而使用NGINX等其他服务器。

0
0 Comments

问题的原因是使用了AuthInterceptor来全局设置请求的Headers,但是这也会影响到SVG和其他媒体文件的请求,例如在这种情况下是MP4文件。解决方法是根据请求的类型和请求的资源类型来过滤请求。以下是代码示例:

export class AuthInterceptor implements HttpInterceptor {
  intercept(req: HttpRequest, next: HttpHandler): Observable> {
    if (req.method === 'GET' && req.url.endsWith('.svg')) {
      req = req.clone({
        setHeaders: {
          'Authorization': `Bearer ${btoa("admin:admin")}`,
        },
      });
    }
    else {
      req = req.clone({
        setHeaders: {
          'Content-Type': 'application/json; charset=utf-8',
          'Accept': 'application/json',
          'Authorization': `Bearer ${btoa("admin:admin")}`,
        },
      });
    }
    return next.handle(req);
  }
}

然而,这种解决方法并没有解决问题,因为在Azure上更改MIME类型仍然需要在web.config文件中进行配置。因此,我们需要采取其他方法来解决这个问题。

0