关灯
开启左侧

利用FLOW对上传到OneDrive的文件进行自动分类归档

[复制链接]
Amos 发表于 2018-12-15 23:11:53 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
 
本帖最后由 Amos 于 2018-12-16 12:57 编辑

已知问题  
1. 上传一些.exe文件时触发不了,或者报错,需手动分类(使用properties only及后缀判别可解决)
2. 部分文件格式分类出错,较大文件可能没反应

#准备  

1. OneDrive账号一枚,需要支持FLOW  

2. (可选)搭配aria2c,利用aria2c和脚本,可进行离线下载和自动上传  

#正餐

##创建你自己的flow  


###1 登录office官网,进入你的OneDrive  


###2 创建新的FLOW

   选择FLOW,在弹出的界面底部选择查看你的FLOW,或直接这里,第一次进使用需要设置地区。  


然后选择`creat from blank`,之后继续选择`create from blank`



这样就进入FLOW的建设页面了  

##FLOW具体配置

### 为FLOW选择`connecter`于`trigger`




### `trigger`的具体设置

- 路径以`/upload`为例


- 然后设置判断条件,选择`condition`


- 配置如下以`application`为例,具体的`content-type`可以从网上查:
https://github.com/samuelneff/MimeTypeMap



- 在`yes`框内增加一次条件判断,设置第一个归档文件类型,以`.exe`可执行文件为例  


选择高级模式,粘贴下面代码

    @contains(triggerOutputs()['headers']['x-ms-file-name'], '.exe')

然后在这一分支下的`yes`选择`action`,执行动作将exe归档到指定目录,注意这次选择


然后action列表下拉选择移动文件,以 `move or rename a file using path`为例


设置好每个参数,这样就能完成将exe归档到指定路径。


  选择保存,然后选择`test`--`I will perform the trigger action`接着传一个exe文件进行测试,以保证正确运行。

请提前建立好各个文件夹避免出错。 测试结果如下,也可以在`upload`文件夹的活动标签中看到操作记录。


逐个往下点开,可以看到绿钩。最后一步可以看到`input`和`output`,里面包含各个参数。包括`content-type`,

也就是说,如果有些文件不知道`content-type`,可以传一个测试看看输入输出就知道了。

### 设置第一个`no`分支

- 回到第一个`if no` 粉色框框,或者选择`判断是否是exe文件`的no分支,以后者为例,

**以下一大段可选择不看。直接跳到有图的部分**

   实际上`application`里面包含许多种格式,`content-type`通常为 `images/png`这样的格式,所以我们第一步

已经过滤出`application`这一大类,接着就要细分了,比如`if yes` 里的exe判断。这里就不需要在使用`content-type`了,

而是转为使用`文件名`判断,也可以使用`path`即,路径判断,因为这两者里都包含了完整的文件名,当然了,我们需要的实际上是后缀,如果是英文文件名,前缀也是可以使用的。我们可以回到`trigger`里看看我们的测试结果,点开可以看到`output`,点击`click to download`打开可以看到文件的`header`以及文件内容等信息。截取内容以外的部分如下,已进行删减

        "headers":{"Pragma":"no-cache","Retry-After":"15","x-ms-file-id":"01VFGSM2...D5O",
    "x-ms-file-name":"QQSnapShot.exe","x-ms-file-name-encoded":"UVFTbm...FwGU=",
    "x-ms-file-path":"/upload/QQSnapShot.exe","x-ms-file-path-encoded":"L3V...wbG",
    "x-ms-file-etag":"\"{9C3F77E0-...AE},2\"","x-ms-request-id":"84..f9",
    "Timing-Allow-Origin":"*","x-ms-apihub-cached-response":"true","Cache-Control":"no-cache",
    "Date":"Thu, 13 Dec 2018 11:54:02 GMT","Location":"https://folderId=01VFGSM2YGDVHENL7QVJGZ4FBQPS2PKZ4U&inferContentType=True&",
    "X-AspNet-Version":"4.0.30319","X-Powered-By":"ASP.NET","Content-Length":"798264",
    "Content-Disposition":"attachment; filename=\"QQSnapShot.exe\"",
    "Content-Type":"application/octet-stream","Expires":"-1"},
    "body":{"$content-type":"application/octet-stream","$content":...

**有用的是这些`x-ms-file-name`  `x-ms-file-path`  `Content-Length`   `content-type`**

**好了,回到具体操作上**

   在exe判断下面的no分支下,同之前一样,新建一个控制语句`control`,选择条件控制`condition`这次可以继续选择使用`content-type`,因为压缩文件不只一种后缀,如图


之后就是老生常谈的事情了,重复各类控制,比如判断文件名包含`economist`,将`economist`单独归档等等,

不再赘述。


#总结

##进阶玩法

使用FLOW其实还可以完成很多事情,里面包含了许多的`connecter`和`trigger`,还是以`index`举例,

比如我可以设置一个按钮,然后输入路径,可以直接在该路径新建一个`.password`文件,甚至是复制到

其他各个目录,文件内容可以提前弄个文件范本设好密码,只需要利用FLOW`copy`到对应路径,便完

成了多个目录密码的设定,也可以单独设定密码。若以后有需要更新密码,只需要设定一个trigger监视

文件是否更改,然后将其他密码文件一块更新即可,而不用重复进行无意义的操作,节约时间。对于

button功能来说,手机上FLOW的app就挺管用了。

## 结语

FLOW 还是有些不完善,但应用到工作中,可以节省很多的时间,也能减少出错的概率,FLOW上也有现成的模板,

自建FLOW,基础应用也不需要太多的知识,高阶点则是API开发模式,可以达到和INDEX类项目相当的许多功能。


待完善...

@urpp


回复

使用道具 举报

 

精彩评论2

正序浏览
简写 发表于 2018-12-23 16:53:37 | 显示全部楼层
 
哇。写的真好。你是我做了这么久,碰到的用flow最透彻的一个人了。
回复

使用道具 举报

 
简写 发表于 2018-12-25 10:25:36 | 显示全部楼层
 
私信发你了
回复

使用道具 举报

 
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


排行榜

关注我们:QQ交流群

官方微信

APP下载

全国服务热线:

4000-888-888

公司地址:上海市嘉定区

运营中心:上海市嘉定区百达国际大厦25楼

邮编:200000 Email:admin@mr-technos.com

Copyright   ©2015-2018  先森科技Powered by©Discuz!技术支持:先森科技     ( 浙ICP备18046157号-1 )|网站地图