不允许加载本地资源[带有Axios的Vue js]

时间:2018-07-04 14:31:52

标签: javascript vuejs2 axios

我使用Axios.get获取文件的路径: C:\Users\me\AppData\Local\Temp\lorem.csv

Axios语法获取

{
    // axios post generate
    const URL = '/api/report'+ '/generate'
    axios.post(URL, {
      report: this.editedItem.report,
      values: this.editedItem.values
    })
      .then(response => {
        this.fetchItem()
        const URL = '/api/report/path'
        axios.get(URL)
          .then(response => {
            this.path = response.data
          })
          .catch(err => {
            alert(err)
          })
      })
      .catch(err => {
        //what happen after error
        alert(err)
      })
    this.close()
  }

然后我将该路径发送到标签

<a :href="path" download target="_blank" class="tabs__item tabs__item--active" style="position: relative;"><u>{{ path }}</u></a>
  

但是,控制台说:不允许加载本地资源:[路径]

我尝试了[无效]:  -节点:__ dirname:false,__ filename:false  -斑点类型数据  -其他浏览器,仍然相同

文件是动态文件,服务器生成文件并将其保存在目录中。

1 个答案:

答案 0 :(得分:3)

您将Axios用作前端库,这意味着它无法访问文件系统。 Not allowed to load local resource:这是在告诉您您正在尝试破坏浏览器中的沙箱。

Axios专门用于调用api,尽管您可以在Node之类的可以访问文件系统的事物上使用fs之类的东西,这就是为什么在使用时仍可以尝试执行此操作的原因在浏览器中。