我现在需要创建一个上传文件的Webservice 的接口 有问下 大家有什么经验吗

发布于 2021-11-09 12:44:24 字数 48 浏览 807 评论 9

我现在需要创建一个上传文件的Webservice 的接口 有问下 大家有什么经验吗

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

时光清浅 2021-11-12 01:47:36

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;

 }

夜血缘 2021-11-12 01:42:20

把你要上传的文件用base64编码一下就可以传了

秋意浓 2021-11-12 01:39:23

结合ftp,xmlrpc  有没有比较具体的解释 ,我不是很明白 你所说的  ,谢谢 麻烦了

落墨 2021-11-12 00:48:39

最好可以结合ftp,xmlrpc

掩饰不了的爱 2021-11-11 20:47:38

基本没有要求,不过要看环境定义的了,客户端那边调webservice写好的大小,客户端就调用而以。

贱贱哒 2021-11-11 15:40:54

我知道是可以 ,我想问的时候 ,大家有什么经验 比如是否需要对文件大小限制等   谢谢 

够钟 2021-11-11 07:39:13

通过webservice是可以实现上传文件的

长安忆 2021-11-11 07:36:35

需求是这样的, 分布式系统   一个是Core系统 一个打印系统(客户的),还有一个DMS(文件系统)

现在 core 会调用  打印系统 生成PDF  这后客户的打印系统会调用 DMS webservice 将这个PDF save 到 DMS中

还有什么比较好的方法吗?

伪装你 2021-11-10 20:31:14

WebService 来做文件上传,这这这好吗?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文