本流程图用于同步本地图片到淘宝旺铺素材中心。分两部分:

  • 列出data目录下的所有文件,传送给流程8606,上传到素材中心;
  • 接受流程8606的请求,读取本地图片文件的内容,返回流程8606;
    Selection_620.png

用户可复制以下流程内容,导入到自己的流程管理系统

[
    {
        "id": "7205b4a0ab294b59",
        "type": "tab",
        "label": "同步本地图片到淘宝旺铺素材中心",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "1d2b86ef30d8727b",
        "type": "inject",
        "z": "7205b4a0ab294b59",
        "name": "",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "x": 90,
        "y": 60,
        "wires": [
            [
                "d605d8afd8cc5634"
            ]
        ]
    },
    {
        "id": "d605d8afd8cc5634",
        "type": "readdir",
        "z": "7205b4a0ab294b59",
        "name": "列出data目录下的文件",
        "dir": "data",
        "as": "single",
        "recursive": true,
        "outproperty": "payload",
        "x": 300,
        "y": 60,
        "wires": [
            [
                "f7a5cdd1b5ef0d01"
            ]
        ]
    },
    {
        "id": "f7a5cdd1b5ef0d01",
        "type": "dianshangji",
        "z": "7205b4a0ab294b59",
        "name": "同步本地图片到淘宝旺铺素材中心",
        "process": "8606",
        "query": "",
        "browser": "",
        "closetab": true,
        "x": 600,
        "y": 60,
        "wires": [
            [],
            [
                "ed06266a517765fe"
            ],
            []
        ]
    },
    {
        "id": "ed06266a517765fe",
        "type": "debug",
        "z": "7205b4a0ab294b59",
        "name": "调试 17",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "false",
        "statusVal": "",
        "statusType": "auto",
        "x": 860,
        "y": 60,
        "wires": []
    },
    {
        "id": "59a7a6516a1e2ef6",
        "type": "http in",
        "z": "7205b4a0ab294b59",
        "name": "接受请求文件",
        "url": "/readimagefile/:itemid/:filename",
        "method": "get",
        "upload": false,
        "swaggerDoc": "",
        "x": 90,
        "y": 140,
        "wires": [
            [
                "2a4499d092f6785d"
            ]
        ]
    },
    {
        "id": "471e6412c543dd42",
        "type": "http response",
        "z": "7205b4a0ab294b59",
        "name": "返回图片内容",
        "statusCode": "",
        "headers": {
            "content-type": "image/jpeg"
        },
        "x": 880,
        "y": 140,
        "wires": []
    },
    {
        "id": "28526e736746af57",
        "type": "file in",
        "z": "7205b4a0ab294b59",
        "name": "读取本地图片文件",
        "filename": "filename",
        "filenameType": "msg",
        "format": "",
        "chunk": false,
        "sendError": false,
        "encoding": "none",
        "allProps": false,
        "x": 530,
        "y": 140,
        "wires": [
            [
                "471e6412c543dd42"
            ]
        ]
    },
    {
        "id": "2a4499d092f6785d",
        "type": "change",
        "z": "7205b4a0ab294b59",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "filename",
                "pt": "msg",
                "to": "\"data/\" & msg.req.params.itemid & \"/\" & msg.req.params.filename & \".jpg\"",
                "tot": "jsonata"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 290,
        "y": 140,
        "wires": [
            [
                "28526e736746af57"
            ]
        ]
    }
]

第一部分
列出data目录下的所有文件:这个节点的类型是“readdir”,编辑该节点,设置“Directory”为“data”。
Selection_617.png

该节点以数组形式将“data”目录下的所有文件路径发送给下一个连接的节点。
Selection_615.png

Selection_616.png

如果用户以前没有安装过“readdir”节点,需点击流程管理系统的页面右上角“节点管理”菜单。
Selection_610.png

然后点击“安装”标签。
Selection_611.png

在“搜索模块”中输入“dir”,可搜索得到“node-red-contrib-readdir”这一项,点击“安装”。
Selection_612.png

即可将“readdir”添加到流程管理系统页面的左侧面板中。
Selection_613.png

节点在面板的位置如下图所示。
Selection_614.png

第二部分
流程图中的流程8606需要从本地读取图片文件的内容,再上传到素材中心,因此需要由第二部分节点提供图片数据。
Selection_618.png

我们规定每个宝贝的图片文件位于“data/宝贝ID/文件名”这样的位置
Selection_621.png

对应的URL则如下类似的格式所示:

http://127.0.0.1:51880/readimagefile/538541028133/TB29fSccxwlyKJjSZFsXXar3XXa
  • 宝贝ID:538541028133
  • 图片文件名:TB29fSccxwlyKJjSZFsXXar3XXa
    Selection_622.png

用户可测试一下,在浏览器地址栏输入如下图类似的链接,应显示出本地存储的某一个宝贝的图片文件。
Selection_619.png

流程8606将每个宝贝的一组图片分别上传到素材中心,文件夹结构如下所示:
Selection_623.png

每个宝贝ID作为文件夹的名字,该宝贝详情页的所有主图、SKU图片以及详情描述的图片都上传至该文件夹。
Selection_624.png