# getFileData

获取文件数据 

## API 调用

### QN.app.invoke({api:'getFileData', query})

#### API 调用入参

参数名             | 类型       | 是否可选 | 默认值 | 含义
:-------------- | :------- | :--- | :-- | :-----------------------------------------------------------------------------------------------------------------------
`query`         | `Object` |      |     |
`query.uris`  | `string` |  可选    |  file://localpath=%2fUsers%2f2b%2fDesktop%2ftest.txt&mimetype=application%2fmsword,cloud://spaceid=1001&fileid=9001 | uri格式 i. 文件路径：file://localpath=***&mimetype=*** ii. 文件流：stream://data=***&mimetype=*** iii. 云空间：cloud://spaceid=***&fileid=*** iv. 网络文件：web://url=*** 注意：	1. 所有的value（即上所指的***）都需要url code编码，另文件数据需要先进行base64编码，再进行urlcode编码 2. 文件流格式容量大小限定在5M以内 3. mimetype在i, ii情况下必传，iii和iv可选


#### API 响应结果

参数名      | 类型  | 示例 | 含义
:------- | :-- | :----- | :---
`result` | `*` |        | 请求响应
`query.res`  | `object []` |  <need>    |  <default> | 每个元素是一个Key-Value JSON，keys如下： data: 文件二进制数据，已经Base64编码 mimetype: 文件mimetype 注意： 1. 如果入参是file://或者stream://，需要传入mimetype；如果是其他，则无需传如mimetype，模块内部将对网络文件进行解析得到mimetype 2. 成功获取所有文件数据才会返回有效数据
`query.=== data`  | `string` |  <need>    |  <default> | 文件流，Base64编码
`query.=== mimetype`  | `string` |  <need>    |  <default> | 文件流的mimetype，可根据此属性使用不同客户端打开文件


#### 调用示例

```javascript
QN.app.invoke({
      api:'getFileData',
      query:{
                uris : 'file://localpath=%2fUsers%2f2b%2fDesktop%2ftest.txt&mimetype=application%2fmsword,cloud://spaceid=1001&fileid=9001'  
            
      }
}).then(result => {
    console.log(result);
}, error => {
    console.log(error);
});
    
```
