FastDFS上传文件二 : 多文件上传

FastDFS上传文件二 : 多文件上传

第一步 : 编写触发多文件上传的事件源

注意:在上传文件的标签里增加multiple=”multiple”这个属性就可以实现多图上传

<tbody id="tab_2" style="display: none">
    <tr>
        <td width="20%" class="pn-flabel pn-flabel-h">
            <span class="pn-frequired">*</span>
            上传商品图片(90x150尺寸):</td>
            <td width="80%" class="pn-fcontent">
            注:该尺寸图片必须为90x150。
        </td>
    </tr>
    <tr>
        <td width="20%" class="pn-flabel pn-flabel-h"></td>
            <td width="80%" class="pn-fcontent">

            <!-- multiple="multiple"这个属性就可以实现多图上传了 -->
            <input type="file" onchange="uploadPic()" name="pics" multiple="multiple" />

        </td>
    </tr>
</tbody>

第二步 : 编写多文件上传的事件函数

//上传多张图片
function uploadPic(){
    //上传图片异步的Jquery.form.js
    var options = {
            url : "/uploadFiles.do",
            type : "post",
            dataType : "json",
            success : function(data){
                //多图片回显
                var html = '<tr>'
                         + '<td width="20%" class="pn-flabel pn-flabel-h"></td>'
                         + '<td width="80%" class="pn-fcontent">';
                for(var i=0;i<data.length;i++){
                    html += '<img width="100" height="100" src="' + data[i] + '" />'
                         +  '<input type="hidden" name="imgUrl" value="' + data[i] + '"/>'
                }
                html += '<a href="javascript:;" class="pn-opt" onclick="jQuery(this).parents(\'tr\').remove()">删除</a>'
                     +  '</td>'
                     +  '</tr>';
                //回显
                $("#tab_2").append(html);

            }
    }
    $("#jvForm").ajaxSubmit(options);
}

第三步 : 编写多文件上传的java代码

// 同时上传多个文件
@RequestMapping(value = "/uploadFiles.do")
@ResponseBody
public List<String> uploadFiles(@RequestParam MultipartFile[] mpfs)
        throws FileNotFoundException, IOException, Exception {

    // 上传文件返回的路径集合
    List<String> arrayList = new ArrayList<String>();

    for (MultipartFile mpf : mpfs) {

        // 将文件上传到分布式文件系统,并返回文件的存储路径及名称
        String uploadFile = FastDFSTool.uploadFile(mpf.getBytes(),
                mpf.getOriginalFilename());

        System.out.println(uploadFile);

        // 返回json格式的字符串(图片的绝对网络存放地址)
        arrayList.add(Constants.FDFS_SERVER + uploadFile);
    }
    return arrayList;
}
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值