关于nutz跨服务器上传文件

发布于 578天前  作者 yong9664  770 次浏览  复制  上一个帖子  下一个帖子
 标签: 无

是这样的,项目在一台服务器,文件要存储到另外一台服务器。
项目中功能使用form表单上传

@At
@AdaptBy(type = UploadAdaptor.class, args = { "${app.root}/WEB-INF/tmp" })
public String add(@Param("upload_file")TempFile f, HttpServletRequest request)

module里已经接收到f,怎么将f传到另外一台服务器,nutz有这样的上传封装吗?求指点

21 回复
wendal  1楼•578天前

如何使用Sender.create(Request request).send()方法传文件

Kerbores(kerbores)  2楼•578天前

FilePostSender

Kerbores(kerbores)  3楼•578天前

前提是你存放文件的那个服务器要能接收 HTTP 形式的文件上传

yong9664  4楼•578天前

@wendal @kerbores

public static String fileUploadReturnPath(TempFile file, String model){try{Request req = Request.create("http://localhost:8083/uploadFile/image", METHOD.POST);req.getParams().put("file", file.getFile());Response resp = new FilePostSender(req).send();if (!resp.isOK()) {System.out.println("11");} else {System.out.println("22");}System.out.println(resp.getContent());return null;}catch (Exception e){logger.info("【文件上传失败】", e);}return null;}

大神,帮忙看看,system的是11....

wendal  5楼•578天前

@yong9664 那你不是应该去看880

wendal  6楼•578天前

@wendal 8083那机器的日志吗

yong9664  7楼•578天前

@kerbores
能接收Http形式的文件上传,怎么设置啊?这个还真没注意...

yong9664  8楼•578天前

@wendal 没有日志...

wendal  9楼•578天前

那8083是个啥程序

yong9664  10楼•578天前

@wendal tomcat

wendal  11楼•578天前

表单上传文件,不懂??

yong9664  12楼•578天前

@wendal 完整上传代码,麻烦帮看下,项目服务器和文件报错服务器不在一起....

jsp:

<form action="<%=path%>/manager/add" name="myForm" id="myForm" method="post" enctype="multipart/form-data">
<input type="file" name="upload_file" id="upload_file" />
</form>

module:

@At
@AdaptBy(type = UploadAdaptor.class, args = { "${app.root}/WEB-INF/tmp" })
public String add(@Param("upload_file")TempFile f, HttpServletRequest request)
{
fileUploadReturnPath(f, "image");
}

上传到另外一台服务器:

public static String fileUploadReturnPath(TempFile file, String model){try{Request req = Request.create("http://192.168.1.103:8083/uploadFile/"+ model, METHOD.POST);//文件存储服务器ip和tomcat端口req.getParams().put("file", file.getFile());Response resp = new FilePostSender(req).send();if (!resp.isOK()) {System.out.println("11");} else {System.out.println("22");}System.out.println(resp.getContent());return null;}catch (Exception e){logger.info("【文件上传失败】", e);}return null;}

system打印11,代表失败了吧?

wendal  13楼•578天前

接收的那端总会有点日志的,log4j的话全配置为debug

yong9664  14楼•578天前

@wendal 哦哦,我试试改为debug看看日志

yong9664  15楼•578天前

@wendal 日志么看出什么东西....

[2016-04-08 13:55:26,266] org.nutz.mvc.impl.UrlMappingImpl:92 DEBUG - Found mapping for [POST] path=/manager/add : MultimediaModule.add(MultimediaModule.java:126)
[2016-04-08 13:55:26,266] org.nutz.ioc.impl.NutIoc:153 DEBUG - Get 'multimediaModule'<class com.xll.module.manager.MultimediaModule>
[2016-04-08 13:55:26,267] org.nutz.mvc.upload.UploadAdaptor:187 DEBUG - Select Html4 Form upload parser --> /nysq/manager/add
[2016-04-08 13:55:26,269] org.nutz.mvc.upload.FastUploading:39 DEBUG - FastUpload : /manager/add
[2016-04-08 13:55:26,271] org.nutz.mvc.upload.FastUploading:54 DEBUG - info created
[2016-04-08 13:55:26,272] org.nutz.mvc.upload.FastUploading:60 DEBUG - Params map created - 0 params
[2016-04-08 13:55:26,274] org.nutz.mvc.upload.FastUploading:77 DEBUG - boundary:
------WebKitFormBoundary0DAjRIVAe1vCfi82
[2016-04-08 13:55:26,278] org.nutz.mvc.upload.FastUploading:100 DEBUG - skip first boundary
[2016-04-08 13:55:26,278] org.nutz.mvc.upload.FastUploading:111 DEBUG - Reading...
[2016-04-08 13:55:26,281] org.nutz.mvc.upload.FastUploading:133 DEBUG - Upload File info: FilePath=[null],fieldName=[title]
[2016-04-08 13:55:26,281] org.nutz.mvc.upload.FastUploading:214 DEBUG - Found a param, name=[title] value=[aaa]
[2016-04-08 13:55:26,281] org.nutz.mvc.upload.FastUploading:133 DEBUG - Upload File info: FilePath=[null],fieldName=[description]
[2016-04-08 13:55:26,282] org.nutz.mvc.upload.FastUploading:214 DEBUG - Found a param, name=[description] value=[]
[2016-04-08 13:55:26,282] org.nutz.mvc.upload.FastUploading:133 DEBUG - Upload File info: FilePath=[苹果.jpg],fieldName=[multimedia_file]
[2016-04-08 13:55:26,282] org.nutz.mvc.upload.FastUploading:137 DEBUG - Upload Info: name=苹果.jpg,content_type=image/jpeg
[2016-04-08 13:55:26,291] org.nutz.mvc.upload.FastUploading:230 DEBUG - ...Done 3584 bytes readed

这是点击提交请求后的所有日志。

wendal  16楼•578天前

接收的名字应该是 @Param("multimedia_file") TempFile f

wendal  17楼•578天前

上面的日志是代表已经读取到文件了, 就看入口方法怎么接收了

wendal  18楼•578天前

但好奇怪为啥是 "multimedia_file" , 你代码里面写的是这个名字??? FilePostSender应该不会生成这个名字

yong9664  19楼•578天前

@wendal 名字“multimedia_file”没错的,我给module更改了下,方便你看的o(∩_∩)o

wendal  20楼•578天前

@yong9664 这属于自以为聪明,找打

wendal  21楼•577天前

最终结果就目标服务根本没有对应的入口方法。

转载于:https://www.cnblogs.com/telwanggs/p/7803542.html

关于nutz跨服务器上传文件相关推荐

  1. ASP.NET跨服务器上传文件的相关解决方案

    ASP.NET跨服务器上传文件的相关解决方案 参考文章: (1)ASP.NET跨服务器上传文件的相关解决方案 (2)https://www.cnblogs.com/zuowj/p/3999798.ht ...

  2. 跨服务器上传文件方式

    跨服务器上传文件的方式有很多,其中一种是使用在中间服务器上使用临时文件的方式进行保存后再发送到另一个服务器上,实现文件上传. 问题点:中间保存临时文件,还需要不定时的进行文件清理,比较麻烦 直接进行文 ...

  3. 跨服务器上传文件遇到405 or 409

    跨服务器上传文件405 由于TOMCAT考虑到安全性,默认关闭了TOMCAT的PUT和DELETE请求(即readonly = true). 解决方法:修改Tomcat文件夹下的/conf/web.x ...

  4. tomcat上传文件到不同服务器,使用SpringMVC进行跨服务器上传文件出现的那些坑

    [1] 405 Method Not Allowed 原因是因为Servlet默认是只读的,也就是写不进去(文件上传不过来) 所以要在文件服务器的 web.xml 对 Servlet 进行配置 def ...

  5. mvc api服务器文件上传,springMVC:跨服务器上传文件报409

    上传文件提交后报错如下: HTTP Status 500 – Internal Server Error Type 异常报告 消息 Request processing failed; nested ...

  6. java实现ftp跨服务器上传文件并用html5流媒体播放

    两个服务器:Apache Tomcat和win2008 iis,要能ping通 要求从Tomcat的服务器上传视频文件到iis中,并且客户端浏览器能用流媒体播放,其实并不难,上传的话用ftp,comm ...

  7. python运维实战--跨堡垒机连接二级服务器上传文件

    python运维实战--跨堡垒机连接二级服务器上传文件 paramiko的有关概念和操作 Welcome to Paramiko! - Paramiko documentation 这个python脚 ...

  8. ftp服务器上传文件权限设置,ftp服务器 上传文件权限设置

    ftp服务器 上传文件权限设置 内容精选 换一换 华为云对象存储服务帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用对 ...

  9. 向web服务器传文件,c++实现向web服务器上传文件

    [实例简介] vs2013 c++实现上传的客户端,服务端为java写的web工程,模拟post方法,可以上传大文件 [实例截图] [核心代码] c向web服务器上传文件 └── c++ 向web服务 ...

最新文章

  1. HTC与酷派 不是冤家不聚头
  2. enterpriseTECH Dec 11
  3. 栈区,堆区,全局区,文字常量区,程序代码区详解(程序中不同类型数据所在区)
  4. linux 内核移植和根文件系统的制作【转载】
  5. TableStore实战:DLA+SQL实时分析TableStore
  6. asp.net JavaScriptSerializer实现序列化和反序列化
  7. 成为大数据工程师需要哪些技能?(一文秒懂大数据)
  8. 常数0.0039215689代表什么?
  9. 【BERT实践】看不懂bert没关系,用起来so easy!
  10. 代码编辑器sublime text 4130 for Mac
  11. Maven -- dependency详解
  12. 华为私密相册计算机找回密码,华为手机进入隐私空间的密码忘记了怎么办
  13. python淘宝抢购脚本_Python 实现毫秒级淘宝、京东、天猫等秒杀抢购脚本
  14. 正面管教之PHP_2017.04.08 三正记录(正面管教课堂之出生顺序及PHP)
  15. m3u8转换到mp4 python_python实现m3u8格式转换为mp4视频格式
  16. Apache ZooKeeper【动物管理员】
  17. python中元组常识,以及for 与 range 的用法!
  18. html字体加载规则,CSS-等待字体加载,然后渲染网页
  19. 纯css动画-div从左到右出现
  20. HTML5文件选择框(各种类型)

热门文章

  1. 计算机组成原理之指令和寻址方式
  2. linux ip不设置网关,linux下ip与网关不在同一段配置
  3. Linux脚本5秒后启动程序,嵌入式Linux启动时间优化的秘密之四-启动脚本
  4. (4)ISE14.7 ChipScope使用流程(FPGA不积跬步101)
  5. (16)VHDL实现半加器与全加器
  6. wxpython 基本的控件 (按钮)
  7. IIC软件模拟-读写EEPROM
  8. java锁包读写锁_Java并发包7--读写锁ReentrantReadWriteLock的实现原理解析
  9. python编程代码执行漏洞_代码执行漏洞 - 安全先师的个人空间 - OSCHINA - 中文开源技术交流社区...
  10. Linux内外存访问