一个简单的plupload上传demo

一个简单的plupload上传demo

客户端

目录结构

在这里插入图片描述
其中plupload-master文件夹的目录结构为:
在这里插入图片描述

upload_signature.html文件

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>专家用户信息</title>
    <script type="text/javascript" src="jquery.min.js"></script>
    <script type="text/javascript" src="plupload-master/plupload.full.min.js"></script>
</head>

<body>

<div class="userC clear">
    <div class="userCd">
        <span class="userCdl">证件上传:</span>
        <div class="userUpImg">
            <div class="userUImg" id="bcd"></div>
            <div class="userUpBut"><input type="file" id="fileImg" title="上传证件照" accept="image/jpeg,image/jpg,image/png"/></div>
        </div>
        <div class="reminder">
            <p>温馨提示:</p>
            <p>1、照片支持格式:jpg、jpeg、gif、png。</p>
            <p>2、您只需传1张照片即可,大小不要超过5M,如果照片过大将不能上传。</p>
            <p>3、证件类型:如执业医师证。</p>
        </div>
    </div>
</div>
<script type="text/javascript">
   
    var uploader = new plupload.Uploader({
     
      //实例化一个plupload上传对象
        browse_button : 'fileImg',//上传按钮id
        url : 'http://192.168.8.175:8088/upload',//上传路径
        multipart:true,//是否文件上传
        multi_selection: false,//是否允许选取多个
        multipart_params:{
     
     firstParam:'这是参数1',secondParam:'这是参数2'},
        // max_file_size : '10mb',
        filters: {
     
     
            mime_types : [
                {
     
     title:"Images", extensions:"jpeg,jpg,png"}
            ],
            prevent_duplicates : true //不允许选取重复文件
        }
    });
    uploader.init(); //初始化
    //alert("初始化完");
    //绑定文件添加进队列事件
    uploader.bind('FilesAdded',function(uploader,files){
     
     
        var file=files[0];
        if(!/image\/\w+/.test(file.type)){
     
     
            $("#fileImg").val("");
            alert("请选择正确的图片!");
            return false;
        }
        var max_size = 5 * 1024;//图片大小 不超过5M
        var size = file.size;
        if (size > max_size * 1024) {
     
     
            $("#fileImg").val("");
			alert("图片大小不能超过5M");
            return false;
        }
        uploader.start();
    });
    uploader.bind('UploadProgress',function(uploader,file){
     
     
	// alert("正在上传");
    });
    uploader.bind('FileUploaded',function(uploader,file,result){
     
     
	alert("返回值="+result.response);
      alert("上传成功");
    });
</script>

</body>
</html>

其中http://192.168.8.175:8088/upload 后台服务端提供的上传接口。

至此客户端的全部代码就是完成了 就是这一个upload_signature.html文件而已,关于plupload上传相关的用法及说明可参见

  1. 官网 https://www.plupload.com/docs/
  2. 博客 https://www.cnblogs.com/2050/p/3913184.html

服务器端

用springboot搭建项目提供一个接受文件上传的接口Controller

package com.xl.test.pluploader.controller;

import java.io.IOException;

import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;


@RestController
public class UploaderController {
    
    

	@CrossOrigin
	@RequestMapping(value = "upload", produces = "application/json;charset=UTF-8")
	public String upload(@RequestParam(value = "file", required = false) MultipartFile file, String firstParam,String secondParam) throws IOException {
    
    
		String fileName = file.getOriginalFilename();
		System.out.println(".....fileName= " + fileName);
		long fileSzie = file.getSize();
		System.out.println(".....fileSzie= " + fileSzie);
		byte[] fileBts = file.getBytes();
		System.out.println(".....fileBts= " + fileBts);
		
		System.out.println(".....firstParam= " + firstParam);
		System.out.println(".....secondParam= " + secondParam);
		return "测试完成";
	}

}

测试运行结果

用浏览器打开upload_signature.html,然后点击“选择文件” 上传

在这里插入图片描述
在这里插入图片描述

运行结果

后台
在这里插入图片描述
前端
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_29025955/article/details/109051070
今日推荐