指数
0
Watch 2.2k Star 4.3k Fork 2.2k

ThinkGem / JeeSite 4.xJava

form:fileupload 开始上传按钮如何实现触发指定服务地址上传?

已完成
诠释这低调  创建于

form:fileupload 封装走默认请求服务上传,如何在选中图片后开始上传上实现触发指定服务地址上传?

6732_thinkgem 共3人参与

评论 (8)

前去 2019-01-29 15:58

上传方法中可以配置上传服务器url,配置好上传直接到指定路径

诠释这低调 2019-01-30 17:39

@前去 如果通过js 上传方法有示例吗??

诠释这低调 2019-01-30 17:43

想通过表单同步提交完成,目前就差通过文件式提交表单步骤

<#form:fileupload id="goodsPictureIds" returnPath="false"  auto="false" uploadType="image" readonly="false" maxUploadNum="3" isMini="false"  **isLazy="true"** />

//第一步:上传后隐藏开始手动上传按钮
    $('#goodsPictureIdsUploader').ajaxComplete(function (a){
    	$(".uploadBtn").hide();
	});
})

$("#inputForm").validate({
    submitHandler: function(form){
    	//第二步:检测如果没有添加图片情况,默认原始表单提交,否则就触发上传图片提交事件提交
    	var num = $("#goodsPictureIdsfileLists li").length;
        if(num > 0){
        	alert("图片上传表单提交");
        	//return false;
        }
        //return false;
        js.ajaxSubmitForm($(form), function(data){
            js.showMessage(data.message);
            if(data.result == Global.TRUE){
            	js.closeCurrentTabPage(function(contentWindow){
					contentWindow.page();
				});
            }
        }, "json");
6732_thinkgem
ThinkGem 2019-01-30 21:39 拥有者

@诠释这低调 你是想用这个懒加载选项吗? isLazy="false"

诠释这低调 2019-01-31 09:46

@ThinkGem
我是想通过表单提交按钮来统一控制提交,目前fileupload集成只能在控件上提交,我看upload官方的上的文档是可以加入表单信息一起提交的,所以先通过以下方式:

form:fileupload isLazy="true" 实现手动上传,但在添加文件后将其自动隐藏掉,交由form表单按钮提交,不知道是否可以通过$('#goodsPictureIdsUploader').ajaxSubmit 提交

//第一步:上传后隐藏开始手动上传按钮
    $('#goodsPictureIdsUploader').ajaxComplete(function (a){
    	$(".uploadBtn").hide();
	});
})

$("#inputForm").validate({
    submitHandler: function(form){
    	//第二步:检测如果没有添加图片情况,默认原始表单提交,否则就模拟点击开始上传按钮事件触发提交
    	var num = $("#goodsPictureIdsfileLists li").length;
    	alert(num);
        if(num > 0){
        	//触发上传提交
        	$('#goodsPictureIdsUploader').ajaxSubmit({
                type: 'post',
                url: '${ctx}/goods/addGoods',
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                data: $(form).serialize(),
                success: function(data) {
                	alert(data.message);
                    js.showMessage(data.message);
                    if(data.result == Global.TRUE){
                    	js.closeCurrentTabPage(function(contentWindow){
        					contentWindow.page();
        				});
                    }
                }
            });
            return false; // 阻止表单自动提交事件,必须返回false,否则表单会自己再做一次提交操作,并且页面跳转
        }
        return false;
        js.ajaxSubmitForm($(form), function(data){
            js.showMessage(data.message);
            if(data.result == Global.TRUE){
            	js.closeCurrentTabPage(function(contentWindow){
					contentWindow.page();
				});
            }
        }, "json");
    }
诠释这低调 2019-01-31 10:00

@ThinkGem WebUploader可以通过formData传入表单信息,server 可以指定服务url
不知道form:fileupload 有没有集成进去

// 实例化
uploader = WebUploader.create({
            pick: {
                id: '#filePicker-2',
                label: '点击选择图片'
            },
            formData: {
                uid: 123,
                username:0
            },
            dnd: '#dndArea',
            paste: '#uploader',
            swf: '<%=ctxPath%>/lib/webuploader/0.1.5/Uploader.swf',
            chunked: false,
            chunkSize: 512 * 512,
            server: '<%=ctxPath%>/Coach/updateImg.do',
诠释这低调 2019-01-31 14:38

看了js代码 发下formData 是属性字段值,想在上面加入jsonData参数,potion参数加入t.server接收前段值

B = {
			bizType : t.bizType,
			bizKey : t.bizKey,
			uploadType : t.uploadType,
			imageMaxWidth : t.imageMaxWidth,
			imageMaxHeight : t.imageMaxHeight,
			jsonData : t.jsonData
		};

k = b.extend({}, {
			disableGlobalDnd : true,
			swf : ctxStatic + "/webuploader/0.1/Uploader.swf",
			server : t.server ? t.server : ctxAdmin + "/file/upload",
			formData : B,
			threads : 1,
			fileNumLimit : t.maxUploadNum,
			fileSingleSizeLimit : t.maxFileSize,
			compress : false
		}, k);
		console.log("file param : "+ JSON.stringify(k));
		var A = WebUploader.create(k);

想通过使用uploadBeforSend函数为变量jsonData 赋值,但是前段怎么能调用uploadBeforSend

6732_thinkgem
ThinkGem 2019-02-12 19:46 拥有者

登录 后才可以发表评论

负责人
标签
未设置
里程碑
关联分支
开始时间
未设置
结束时间
未设置
置顶选项
优先级

搜索帮助