JS构造一个html文本内容成文件流形式发送到后台

具体代码如下所示:

let html = <!DOCTYPE html>
    <html>
    <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width,initial-scale=1.0">
     <title>X-Find迅聘选才</title>
     <link rel="stylesheet" href="https://cdn.bootcss.com/iview/2.14.0/styles/iview.css" rel="external nofollow" />
     <style>
      ${resumecss}
     </style>
    </head>
    <body>
     <div class="resume_preview_page" style="margin:0 auto;width:1200px">
     ${template}
     </div>
    </body>
    </html>;
var wordStream = window.URL.createObjectURL(
    new Blob([html],{ type: "text/plain;charset=utf-8" }));
    console.log('wordStream',wordStream);
   let formdata = new FormData();
   formdata.append('file',wordStream);
   this.$post(url,formdata)
   .then(res=>{
    console.log('export finish',res);
   })

现在上面方式报错:

JS构造一个html文本内容成文件流形式发送到后台

解决方法其实很简单

let html = this.getHtmlContent();
      let html_ = new Blob([html],{ "type" : "text/html;charset=utf-8" })
      let formdata = new FormData();
      formdata.append('file', html_, `sdf.html`);
      axios({
        method: 'post',
        url: url,
        data:formdata,
        responseType:'blob',
      })

总结

相关推荐