【问题标题】:File Download using Javascript / Angularjs, whose content is retrieved in JSON format使用 Javascript / Angularjs 下载文件,其内容以 JSON 格式检索
【发布时间】:2014-09-12 23:50:51
【问题描述】:

我已从 REST api 下载文件,但其内容以这种格式显示。 我希望每当它被调用时立即在浏览器中下载它。

{"0":"�","1":"�","2":"�","3":"�","4":"\u0000","5":" \u0010","6":"J","7":"F","8":"I","9":"F","10":"\u0000","11":" \u0001","12":"\u0001","13":"\u0000","14":"\u0000","15":"\u0001","16":"\u0000"," 17":"\u0001","18":"\u0000","19":"\u0000","20":"�","21":"�","22":"\u0000" ,"23":"C","24":"\u0000","25":"\b","26":"\u0006","27":"\u0006","28":" \u0007","29":"\u0006","30":"\u0005","31":"\b","32":"\u0007","33":"\u0007"," 34":"\u0007","35":"\t","36":"\t","37":"\b","38":"\n","39":"\ f","40":"\u0014","41":"\r","42":"\f","43":"\u000b","44":"\u000b","45 ":"\f","46":"\u0019","47":"\u0012","48":"\u0013","49":"\u000f","50":"\u0014 ","51":"\u001d","52":"\u001a","53":"\u001f"}

【问题讨论】:

    标签: javascript json angularjs binary


    【解决方案1】:

    使用浏览器的 webdeveloper 工具(Chrome 中的 F12、firefox 中的 firebug、IE 中的 F12 或 F10)并检查您对文件发出的请求。检查响应的内容类型和格式。从我所看到的来看,我认为“文件”在客户端被识别为 JavaScript 数组。

    还可以考虑从服务器端设置编码。

    【讨论】:

    • 响应内容类型为 Content-Type : text/html; charset=utf-8 如何更改内容类型 我尝试在 $resource 中添加标题但它不起作用。 var resource= $resource('api-content.dropbox.com/1/:one/:two', {}, { getfile:{method:'GET',params:{one:'files',two:'auto/@path'},headers:{'Content-类型':'application/x-www-form-urlencoded; charset=UTF-8'}}}....
    • 如果你想设置标题,你还必须放一个数据字段(即使它是空的并且你正在做一个GET;不要问我为什么)。试试: var resource= $resource('api-content.dropbox.com/1/:one/:two';, {}, { getfile:{method:'GET',params:{one:'files',two :'auto/@path'},headers:{'Content-‌​Type':'application/x-www-form-urlencoded; charset=UTF-8'}, data: ''}}
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-13
    • 2018-07-19
    相关资源
    最近更新 更多