我正在尝试使用R.下载并保存pdf文件。
此文件在Chrome和Edge中完美显示:http://www.cpppc.org:8082/efmisweb/ppp/projManage/perview.do?&ftpFileName=20170317105445289.pdf&content=efmisweb&xsg=:8083/
以下R代码无误地运行:
download.file('http://www.cpppc.org:8082/efmisweb/ppp/projManage/perview.do?&ftpFileName=20170317105445289.pdf&content=efmisweb&xsg=:8083/', '20170317105445289.pdf', mode="wb")
R显示
trying URL 'http://www.cpppc.org:8082/efmisweb/ppp/projManage/perview.do?&ftpFileName=20170317105445289.pdf&content=efmisweb&xsg=:8083/'
Content type 'text/html; charset=UTF-8' length 2707 bytes
downloaded 2707 bytes
唯一的提示是文件大小比我预期的要小得多。
实际上,当我使用Adobe Acrobat打开它时,它会给我一个错误,说它不是受支持的文件类型,或文件已损坏。是什么导致错误?
我注意到answers to other questions说你应该加mode=wb
,所以我已经这样做了。
答案 0 :(得分:1)
通过链接,我有一个2707字节的文件。 通过此链接,文件为115千字节。
<dom-module id="queue-area-charts">
<template>
<iron-ajax auto id="AjaxPost" url="http://localhost:9090/ybTest2" method="POST" content-type="application/json" handle-as="json" on-response="_onResponse" last-response="{{hresponse}}" debounce-duration="300"></iron-ajax>
<template is="dom-repeat" items="{{hresponse}}" as="hresponse">
{{hresponse.cpu}}
{{hresponse.AGENT_TIME}}
<p></p>
</template>
<vaadin-area-chart id="chart">
<x-axis type="datetime"></x-axis>
<y-axis allow-decimals='false' min='0' max="100">
</y-axis>
<!--"2017-07-27 18:04:46" 15 ==== 1501146197000-->
<tooltip formatter="function () {
return '<b>'+Highcharts.dateFormat('%Y-%m-%d %H:%M:%S', this.x) + '<br/>';}">
</tooltip>
<data-series name="Queue">
<data>
<template is="dom-repeat" items="{{hresponse}}" as="hresponse">
<point>
<x>[[hresponse.AGENT_TIME]]</x>
<y>[[hresponse.cpu]]</y>
</point>
</template>
</data>
</data-series>
</vaadin-area-chart>
</template>
<script>
Polymer({
is: "queue-area-charts",
properties: {
hresponse:{
type: Object,
notify:true,
},
},
_onResponse: function(e, request) {
this.attached();
},
attached: function () {
this.async(function () {
var starttime = "2017-07-27 18:04:46",
endtime = "2017-07-28 00:00:00";
var oData = {"starttime": starttime, "endtime": endtime};
this.$.AjaxPost.body = JSON.stringify(oData);
this.$.AjaxPost.generateRequest();
}, 3000);
}
});
</script>
</dom-module>