uploadFile fromData

发布于 7 年前作者 weitang18911 次浏览最后编辑 7 年前来自 ask

wx.uploadFile 添加fromData属性,后台采用SSH框架,无论是用struts2的接收方式,还是使用request.getParameter();方式,都获取不到传过去的值,但是可以接收到文件。 同样的后台接口和参数,wx.request可以接收到

8 回复
chao80
chao801 楼6 年前

各位大哥,我踩到这个坑,问一下你们解决这个问题了吗,求教

pinghao
pinghao2 楼6 年前

同样掉进了这个坑里,还没找到取到的方法

xxiong
xxiong3 楼6 年前

可以试试下面两种方式:

1、

Map<String, String[]> paramMap = request.getParameterMap();

2、

/**
 * 获取文件上传请求中的表单参数
 */
private Map<String, String> getFileUploadFormParameter(HttpServletRequest request) {
    Map<String, String> params = Maps.newHashMap();
    try {
        DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();
        ServletFileUpload servletFileUpload = new ServletFileUpload(diskFileItemFactory);
        List<FileItem> fileItems = servletFileUpload.parseRequest(request);
        for (FileItem fileItem : fileItems) {
            logger.info("getFileUploadFormParameter    fieldName----->" + fileItem.getFieldName());
            if (fileItem.isFormField()) {
                //此处为表单参数,表单参数名称:fileItem.getFieldName(),表单参数值:fileItem.getString("UTF-8")。
                params.put(fileItem.getFieldName(), fileItem.getString("UTF-8"));
                logger.info("getFileUploadFormParameter    fieldValue----->" + fileItem.getString("UTF-8"));
            } else {
                //此处为非表单参数即文档参数
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
        logger.error("getFileUploadFormParameter    Exception----->", e);
    }
    logger.info("getFileUploadFormParameter    params----->" + JSON.toJSONString(params));
    return params;
}
luona
luona4 楼6 年前

用Post才行,get不行

dzhu
dzhu5 楼6 年前

有可能是跨域问题

haoxiulan
haoxiulan6 楼6 年前

奇葩有更甚,一样的请求,加上formdata上传到的是七牛云,结果把原先post直接更改成了get请求,,我特么懵比了好一阵…

juanhan
juanhan7 楼6 年前

wx.uploadFile,目测是模拟的form表单的post提交,使用普通的接收form表单数据的方式试试。

jing77
jing778 楼5 年前

header: {

“Content-Type”: “multipart/form-data”,

‘Cookie’: header.Cookie

},

header 指定跟我一样吗