我现在需要创建一个上传文件的Webservice 的接口 有问下 大家有什么经验吗
我现在需要创建一个上传文件的Webservice 的接口 有问下 大家有什么经验吗
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我现在需要创建一个上传文件的Webservice 的接口 有问下 大家有什么经验吗
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(9)
private CaseInsensitiveMap FtpMap = new CaseInsensitiveMap();// 用来保存FTP信息
private List FTPList = null;// 用来保存FTP需要上传的文件
public boolean toHtmlForClass(List list, String siteid, String tmp,
String pathXml, DBbean bean) throws Exception {
// 发布
String rootid = this.sitep;
String sql = "select * from site where id=" + siteid + "";
ResultSet rs = db.execute(sql);// 获得站点记录集
rs.first();
String sitePath = rs.getString("Path");
String domainname = rs.getString("DomainName");
String isSer = rs.getString("isFtpServer");
String SiteName = rs.getString("SiteName");
String FtpIp = rs.getString("FtpIp");
String FtpUser = rs.getString("FtpUser");
String FtpPassed = rs.getString("FtpPassed");
rs.close();
Iterator it = list.iterator();
while (it.hasNext()) {
String webPath = null;
CaseInsensitiveMap map = (CaseInsensitiveMap) it.next();
String dirPath = (String) map.get("filepath");// 获得目录路径
String format = (String) map.get("LayoutPath");
String classname = (String) map.get("ClassName");
try {
String LinkUrl = (String) map.get("LinkUrl");// 对于链接目录的处理
// if(!LinkUrl.equals("null")&&!LinkUrl.trim().equals("")){
// System.out.println("发布链接栏目:"+classname+"成功!");
// return true;
// }
map.put("SiteName", SiteName);
// 对于分布处理
FtpMap.put("isFtpServer", isSer);
if (isSer.equals("1")) {
// rootid="/";
FtpMap.put("FtpIp", FtpIp);
FtpMap.put("FtpUser", FtpUser);
FtpMap.put("FtpPassed", FtpPassed);
}
map.put("domainname", "http://" + domainname + "/");
String classid = (String) map.get("ClassID");
String html = "index";
// 获取标签集合
Tag tag = new Tag();
File file = new File(pathXml);
tag.loadxml(file);
List tagList = tag.getTagList();
// 获取后缀
int num = format.indexOf(".");
if (format.equals("")) {
throw new ScmsExcepion("错误!栏目摸板为空!");
}
String last = format.substring(num, format.length());
String dirLate = rootid + sitePath + "/" + dirPath + "/";
File dirFile = new File(dirLate);
dirFile.mkdirs();
if (isSer.equals("1")) {
CaseInsensitiveMap ftpmap = new CaseInsensitiveMap();
ftpmap.put("Dir", "/" + sitePath + "/" + dirPath + "/"
+ html + last);
ftpmap.put("FileName", classname);
ftpmap.put("Local", rootid + sitePath + "/" + dirPath + "/"
+ html + last);
this.FTPList.add(ftpmap);
}
// 摸版路径,生成静态文件路径,标签集合,发布内容集合
io i = new io(tmp + format, rootid + sitePath + "/" + dirPath
+ "/" + html + last, tagList, list, this.db);// 进入发布引擎
webPath = "http://" + domainname + "/" + dirPath + "/" + html
+ last;// 文件的WEB路径
File htmlFile = new File(rootid + sitePath + "/" + dirPath
+ "/" + html + last);
if (htmlFile.exists() != true) {
throw new ScmsExcepion("创建文件失败!");
}
String[] info = { webPath, classname };
this.okList.add(info);
// System.out.println("INFO-发布栏目:"+classname+"成功!");
} catch (Exception e) {
System.out.println("ERROR-发布栏目:" + classname + "失败!"
+ e.getMessage());
e.printStackTrace();
this.lostList.add("<br>栏目:" + classname + "发布失败!<br>错误原因:"
+ e.getMessage() + "<br>");
}
}
return true;
}
把你要上传的文件用base64编码一下就可以传了
结合ftp,xmlrpc 有没有比较具体的解释 ,我不是很明白 你所说的 ,谢谢 麻烦了
最好可以结合ftp,xmlrpc
基本没有要求,不过要看环境定义的了,客户端那边调webservice写好的大小,客户端就调用而以。
我知道是可以 ,我想问的时候 ,大家有什么经验 比如是否需要对文件大小限制等 谢谢
通过webservice是可以实现上传文件的
需求是这样的, 分布式系统 一个是Core系统 一个打印系统(客户的),还有一个DMS(文件系统)
现在 core 会调用 打印系统 生成PDF 这后客户的打印系统会调用 DMS webservice 将这个PDF save 到 DMS中
还有什么比较好的方法吗?
WebService 来做文件上传,这这这好吗?