填报中文件自定义上传至服务器

如何使用exclipse修改编译Commit3文件,实现自定义文件上传,已经使用exclipse打开设计器了,就是代码不会写了....  有没有模板的啊

FineReport 凌建 发布于 2019-4-18 12:53
1min目标场景问卷 立即参与
回答问题
悬赏:4 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共1回答
最佳回答
2
孤陌Lv6资深互助
发布于2019-4-18 13:09
  1. package com.fr.data;    

  2.   

  3. import java.io.*;  

  4. import java.util.logging.Level;  

  5. import java.util.logging.Logger;  

  6. import java.io.FileOutputStream;  

  7. import java.io.FileNotFoundException;  

  8. import java.io.IOException;  

  9. import java.sql.*;  

  10.   

  11. import com.fr.base.FRContext;  

  12. import com.fr.base.Formula;  

  13. import com.fr.cache.Attachment;  

  14. import com.fr.data.ClassSubmitJob;  

  15. import com.fr.data.SubmitJob;  

  16. import com.fr.data.impl.SubmitJobValue;  

  17. import com.fr.general.FArray;  

  18. import com.fr.general.FRLogManager;  

  19. import com.fr.general.FRLogger;  

  20. import com.fr.script.Calculator;  

  21. import com.fr.stable.UtilEvalError;  

  22. import com.fr.stable.xml.XMLPrintWriter;  

  23. import com.fr.stable.xml.XMLableReader;  

  24.   

  25.   

  26. public class Commit3 implements SubmitJob {  

  27.     private Object attach;  

  28.     private SubmitJobValue filePath; //定义文件路径  

  29.   

  30.     public Object clone() throws CloneNotSupportedException {  

  31.         return super.clone();  

  32.     }  

  33.   

  34.     public void doJob(Calculator ca) throws Exception {  

  35.         FRContext.getLogger().info("begin to upload file...");  

  36.         final Object attachO = attach;  

  37.         if (attachO instanceof FArray && ((FArray) attachO).length() != 0) {  

  38.             new Thread() {  

  39.                 public void run() {  

  40.                     int i;  

  41.                     FArray attachmentlist = (FArray) attachO;  

  42.                     for (i = 0; i < attachmentlist.length(); i++) {  

  43.                         if (!(attachmentlist.elementAt(i) instanceof Attachment)) {  

  44.                             continue;  

  45.                         } else {  

  46.                             FRContext.getLogger().info("filePath.value:" + filePath.getValue().toString());  

  47.                             FRContext.getLogger().info("filePath.valueState:" + filePath.getValueState() +  

  48.                                     "注:valueState 0,1,2,3 分别表示 默认值,插入行,值改变,删除行");  

  49.   

  50.                             String FilePath = filePath.getValue().toString();  

  51.                             String FileName = ((Attachment) (attachmentlist.elementAt(i))).getFilename();  

  52.                             String Path = FilePath + "\\" + FileName; 

  53.                             File fileDir = new File(FilePath); 

  54.                             if (!fileDir.exists()) { 

  55.                                 fileDir.mkdirs(); 

  56.                             } 

  57.                             try { 

  58.                                 mkfile(FilePath, FileName, new java.io.ByteArrayInputStream( 

  59.                                         ((Attachment) (attachmentlist.elementAt(i))).getBytes())); //新建文件夹,并且写入内 

  60.                             } catch (Exception e) { 

  61.                                 Logger.getLogger("FR").log(Level.WARNING, 

  62.                                         e.getMessage() + "/nmkfileerror", e); 

  63.                             } 

  64.                         } 

  65.                     } 

  66.                 } 

  67.             }.start(); 

  68.         } 

  69.     } 

  70.  

  71.     private static void mkfile(String path, String FileName, 

  72.             java.io.InputStream source) throws FileNotFoundException, 

  73.             IOException { 

  74.         File fileout = new File(path, FileName); 

  75.  

  76.         if (fileout.exists()) {// 检查是否存在 

  77.             fileout.delete();// 删除文件 

  78.             FRContext.getLogger().info("old file deleted"); 

  79.         } 

  80.         // 在当前目录下建立一个名为FileName的文件 

  81.         if(fileout.createNewFile()) { 

  82.             FRContext.getLogger().info(path + FileName + "created!!");  

  83.         }  

  84.         FileOutputStream outputStream = new FileOutputStream(fileout);  

  85.         byte[] bytes = new byte[1024];  

  86.         int read=source.read(bytes);  

  87.         while (read!=-1) {  

  88.             outputStream.write(bytes, 0, read);  

  89.              outputStream.flush();  

  90.              read = source.read(bytes);  

  91.         }  

  92.         outputStream.close(); //把source写入新建的文件  

  93.     }  

  94.   

  95.     public void readXML(XMLableReader reader) {  

  96.         // TODO Auto-generated method stub  

  97.     }  

  98.   

  99.     public void writeXML(XMLPrintWriter writer) {  

  100.     }  

  101.   

  102.     @Override  

  103.     public void doFinish(Calculator arg0) throws Exception {  

  104.         // TODO Auto-generated method stub  

  105.           

  106.     }  

  107. }  


  • 凌建 凌建(提问者) 我就直接在exclipse中新建一个类,就可以编译了吗。服务器登录名密码什么的也要写上去的吧
    2019-04-18 13:12 
  • 孤陌 孤陌 回复 凌建(提问者) 你是FTP的?
    2019-04-18 13:13 
  • 孤陌 孤陌 回复 凌建(提问者) 我这个是填报上传到指定文件夹的
    2019-04-18 13:13 
  • 凌建 凌建(提问者) 回复 孤陌 不是呀 我们自己的远程服务器.
    2019-04-18 13:13 
  • 凌建 凌建(提问者) 回复 孤陌 那我编译的时候需要把classes文件下的所有package都导进去吗,还是直接创建一个Commit3的类,直接写就可以了
    2019-04-18 13:16 
  • 2关注人数
  • 1111浏览人数
  • 最后回答于:2019-4-18 13:09
    请选择关闭问题的原因
    确定 取消
    返回顶部