12月28, 2017

thinkJs-上传本地

图片 上传本地 或者 读取暂存图片 通过html5 input中 type=file

<div class="add_image" style="border: 1px solid;">
                <input id="imgUpload" type="file" name="image" class="upload" data-url="/upload/bdupload" multiple>
                <img class="img_show" src="" style="display: none">
            </div>
$('#imgUpload').fileupload({
            dataType: 'json',
            done: function (e, data) {
                if(data.result.code==0){
                    $('.img_show').show();
                    $('.img_show').attr('src',data.result.data.url);
                }else{
                    $('p').text('文件上传失败');
                }
            }
        });

const fs = require('fs');
const path = require('path');

   async bduploadAction() {
       let file = this.ctx.file('image'); // 获取file信息
        let reader = fs.createReadStream(file.path); // 要被拷贝的源文件
        let stream = fs.createWriteStream(path.join(think.ROOT_PATH, 'www/static/upload', file.name)); // 写入数据位置,名字

        reader.pipe(stream); // 文件被添加到 uploadImg文件夹
        file.path = __dirname + '../../www/static/upload' + file.name;

        let data = {}
        data.url = '/static/upload/' + file.name

        this.body = {
            code: 0,
            data: data,
            msg: '上传图片成功'
        };
    }

知识点

前端 : 通过fileupload上传

后端 : 通过fs path 模块 获取文件路径 写入路径

本文链接:http://www.hijs.cc/post/thinkjs_upload.html

-- EOF --

Comments