起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

12
返回列表 发新帖
楼主: herbye

[结贴] 关于attchment组件文件上传路径问题

[复制链接]

1

主题

7

帖子

27

积分

新手上路

Rank: 1

积分
27
QQ
 楼主| 发表于 2017-8-10 13:59:05 | 显示全部楼层
liangyongfei 发表于 2017-8-10 13:21
后台服务是什么?设置服务器支持跨域就行
http://docs.wex5.com/ajax-cross-domain/

前辈,现在跨域问题也解决了,但现在在手机上测试时出现了问题,问题描述如下:整个文件上传功能通过组件+后台逻辑实现,即app端使用attachmentSimple组件,通过将:
this.comp("attachmentSimple2").actionUrl = URL;
            this.comp("attachmentSimple2").uploader.actionUrl = URL;
中URL指向远程服务器后台Servlet实现点击上传按钮时的文件上传逻辑,后台Servlet代码如下:
代码.png


如图,后台是根据/Baas/justep/SimpleFileStore.java文件修改的,关键修改点:
1、修改了Servlet创建方式为extends HttpServlet,因为源文件中没有明确的Servlet创建方式,访问后台时无法默认访问service方法;
2、由于需要覆盖service方法,将源文件中
public static JSONObject service(JSONObject params, ActionContext context) throws ServletException, IOException {
               
                HttpServletRequest request = (HttpServletRequest)context.get(ActionContext.REQUEST);
                HttpServletResponse response = (HttpServletResponse)context.get(ActionContext.RESPONSE);
                if(request.getMethod().equals("GET")){
                        doGet(request, response);
                }else if(request.getMethod().equals("POST")){
                        doPost(request, response);
                }
                return null;
        }
方法修改为:
protected void service(HttpServletRequest request, HttpServletResponse response)
                        throws ServletException, IOException {System.out.println("调用了48行 service方法");
                if(request.getMethod().equals("GET")){
  doGet(request, response);
                }else if(request.getMethod().equals("POST")){
  doPost(request, response);
                }
                doPost(request, response);
        }
后果:PC端测试文件上传一切正常;
但手机端选择文件后,日志文件输出“调用了48行service方法”后,无法继续执行;即无法向下执行doGet方法和doPost方法以完成文件上传和回显逻辑。
现怀疑是因为修改了源文件中request和response获取方式,导致手机端request请求中携带参数丢失。
请问应该如何解决?或者说,该如何修改源代码,以完成手机端文件上传?
PS:源代码中:
  public static JSONObject service(JSONObject params, ActionContext context)
需要导入com.justep.baas.action.ActionContext的jar包,但我无法找到该jar包。




回复 支持 反对

使用道具 举报

1

主题

7

帖子

27

积分

新手上路

Rank: 1

积分
27
QQ
 楼主| 发表于 2017-8-10 16:29:26 | 显示全部楼层
liangyongfei 发表于 2017-8-10 13:21
后台服务是什么?设置服务器支持跨域就行
http://docs.wex5.com/ajax-cross-domain/

前辈,所有问题已解决!归根结底还是因为跨域问题,我改写的的servlet可以正常上传、回显,只是不能下载。但依旧足够了,可以结帖了!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-7-9 03:01 , Processed in 0.060524 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表