实现前端文件上传


文件上传控件

HTML

<div class="form-group m-form__group row">
    <label class="col-lg-3 col-form-label"> 图片1 </label>
    <div class="col-lg-6">
        <div>
            <input id="image1" name="image1" type="text" class="form-control m-input" placeholder="图片1"/>
        </div>

        <div id="m-dropzone-one" class="m-dropzone dropzone" action="/upload">
            <div class="m-dropzone__msg dz-message needsclick">
                <h3 class="m-dropzone__msg-title">
                    拖拽文件到这里或点击上传
                </h3>
                <span class="m-dropzone__msg-desc">
                    仅支持图片
                </span>
            </div>
        </div>
    </div>
</div>

<div class="form-group m-form__group row">
    <label class="col-lg-3 col-form-label"> 图片2 </label>
    <div class="col-lg-6">
        <div>
            <input id="image2" name="image2" type="text" class="form-control m-input" placeholder="图片2"/>
        </div>

        <div id="m-dropzone-two" class="m-dropzone dropzone" action="/upload">
            <div class="m-dropzone__msg dz-message needsclick">
                <h3 class="m-dropzone__msg-title">
                    拖拽文件到这里或点击上传
                </h3>
                <span class="m-dropzone__msg-desc">
                    仅支持图片
                </span>
            </div>
        </div>
    </div>
</div>

<div class="form-group m-form__group row">
    <label class="col-lg-3 col-form-label"> 图片3 </label>
    <div class="col-lg-6">
        <div>
            <input id="image3" name="image3" type="text" class="form-control m-input" placeholder="图片3"/>
        </div>

        <div id="m-dropzone-three" class="m-dropzone dropzone" action="/upload">
            <div class="m-dropzone__msg dz-message needsclick">
                <h3 class="m-dropzone__msg-title">
                    拖拽文件到这里或点击上传
                </h3>
                <span class="m-dropzone__msg-desc">
                    仅支持图片
                </span>
            </div>
        </div>
    </div>
</div>

JS 调用

/**
 * 初始化上传组件
 */
function initDropzone() {
    // mDropzoneOne 为元素 ID
    Dropzone.options.mDropzoneOne = {
        // 后台文件上传参数名
        paramName: "uploadFile",
        // 最大上传文件数
        maxFiles: 1,
        // 最大上传文件尺寸(MB)
        maxFilesize: 10,
        // 增加删除链接
        addRemoveLinks: true,
        // 指定上传文件类型
        acceptedFiles: "image/*",
        // 文件类型验证处理
        accept: function (file, done) {
            if (file.name == "justinbieber.jpg") {
                done("Naha, you don't.");
            } else {
                done();
            }
        },
        // 文件上传成功处理
        success: function (file, imageInfo) {
            $("#image1").val(imageInfo.url);
        }
    };

    Dropzone.options.mDropzoneTwo = {
        // 后台文件上传参数名
        paramName: "uploadFile",
        // 最大上传文件数
        maxFiles: 1,
        // 最大上传文件尺寸(MB)
        maxFilesize: 10,
        // 增加删除链接
        addRemoveLinks: true,
        // 指定上传文件类型
        acceptedFiles: "image/*",
        // 文件类型验证处理
        accept: function (file, done) {
            if (file.name == "justinbieber.jpg") {
                done("Naha, you don't.");
            } else {
                done();
            }
        },
        // 文件上传成功处理
        success: function (file, imageInfo) {
            $("#image2").val(imageInfo.url);
        }
    };

    Dropzone.options.mDropzoneThree = {
        // 后台文件上传参数名
        paramName: "uploadFile",
        // 最大上传文件数
        maxFiles: 1,
        // 最大上传文件尺寸(MB)
        maxFilesize: 10,
        // 增加删除链接
        addRemoveLinks: true,
        // 指定上传文件类型
        acceptedFiles: "image/*",
        // 文件类型验证处理
        accept: function (file, done) {
            if (file.name == "justinbieber.jpg") {
                done("Naha, you don't.");
            } else {
                done();
            }
        },
        // 文件上传成功处理
        success: function (file, imageInfo) {
            $("#image3").val(imageInfo.url);
        }
    };
}

富文本控件

需要使用 wangEditor3 插件

HTML

<div class="form-group m-form__group row">
    <label class="col-lg-3 col-form-label"> 文章详情 </label>
    <div class="col-lg-6">
        <div id="articleDesc">
            <p>在此处输入内容</p>
        </div>
        <textarea id="articleDescText" name="articleDesc" style="width:100%; height:200px; display: none;"></textarea>
    </div>
</div>

JS 调用

/**
 * 初始化富文本控件
 */
function initEditor() {
    var editor = new window.wangEditor("#articleDesc");

    // 配置服务器端地址
    editor.customConfig.uploadImgServer = '/upload';

    // 后台文件上传参数名
    editor.customConfig.uploadFileName = 'wangEditorH5File';

    // 监控变化,同步更新到 textarea
    var articleDescText = $('#articleDescText');
    editor.customConfig.onchange = function (html) {
        articleDescText.val(html);
    };

    editor.create();

    // 初始化 textarea 的值
    // articleDescText.val(editor.txt.html());
}

results matching ""

    No results matching ""