当前位置: 首页 > 知识库问答 >
问题:

$http:如何用CORS从WebApi获取头文件名

向苗宣
2023-03-14

问题是无法从$HTTP响应头中获取文件名

HTTP/1.1 200 OK
内容-长度:121257
内容-类型:Application/PDF
服务器:Microsoft-HTTPAPI/2.0
访问控制-允许-起源:*
访问控制-暴露-标头:*
内容-处置:附件;filename=order-414.pdf
日期:2015年2月11日星期三05:32:25 GMT

我只想在下载时获得文件名(order-414.pdf)作为pdf名称。但在此代码块中:

   $http.get(httpPath, { responseType: 'arraybuffer' })
            .success(function (data, status, headers) {
                debugger;
                // just return content-type
                var header = headers();

header对象只包含Content-Type。

Object {content-type: "application/pdf"}

我在某处读到我们需要为WebAPI配置CORS:

  private static void RegisterCorsConfig(HttpConfiguration config)
    {
        var cors = new EnableCorsAttribute("*", "*", "*", "*");
        //var cors = new EnableCorsAttribute("*", "*", "*", "DataServiceVersion, MaxDataServiceVersion");
        //cors.ExposedHeaders.Add("*");
        //cors.ExposedHeaders.Add("filename");
        config.EnableCors(cors);
    }

但还是不行。请帮帮我.提前道谢。

共有1个答案

薛征
2023-03-14

我想您需要将content-disposition而不是filename添加到access-control-expose-headers

cors.ExposedHeaders.Add("Content-Disposition");
 类似资料:
  • 问题内容: 我是python的新手,使用Python Flask并生成REST API服务。 我想检查发送给客户端的授权标头。 但是我找不到在flask中获取HTTP标头的方法。 感谢获得HTTP标头授权的任何帮助。 问题答案: 行为就像字典一样,因此你也可以像使用任何字典一样获取标头:

  • 考虑到这一点,我需要在Web API端启用CORS,但是我已经尝试了几个小时了,它仍然无法工作。 我是如何设置客户机的,这只是一个用react.js编写的简单客户机。我正在jQuery中通过AJAX调用API。React网站可以工作,所以我知道不是这样的。Jquery API调用如我在尝试1中确认的那样工作。这是我打电话的方式 我所尝试的 正如你所看到的,我正在按吩咐做一切。我两次都在MVC之前添

  • 问题内容: 我知道可以通过自动单击Xco​​de中的Cocoa类型来查看自动翻译的Cocoa API的Swift版本的方式。例如,这是为UITableViewController生成的内容: 有没有其他方法可以使Xcode生成此Swift版本?最好从命令行? 问题答案: Swift REPL包含一个助手 这篇博客文章解释了如何编写一个简单的脚本来帮助您使用它来生成特定类型的文档。我更新了脚本以允许

  • 我下载了一个文件作为ajax的响应。如何从中获取文件名和文件类型并显示缩略图。我得到了很多搜索结果,但找不到正确的方法。 控制台输出:

  • 我使用意图action_get_content调用startActivityForResult。有些应用程序返回给我的数据包含以下URI: 内容://media/external/images/media/18122 不知道是图像还是视频或者一些自定义内容。如何使用ContentResolver从这个URI获取实际的文件名或内容标题?

  • 我需要从图像获得http响应头。如何为来自Glide的每个请求创建拦截器?有必要创建一个滑翔模块吗?