Browse Source

文件上传测试

zhouger 7 tháng trước cách đây
mục cha
commit
e864f753d3

+ 8 - 1
src/main/java/kd/bos/newdevportal/table/TableDataBasicPlugin.java

@@ -60,8 +60,15 @@ import java.util.stream.Collectors;
             //表名称
             this.getModel().setValue("name",tabledatabasic.getString("nckd_entity.name"));
             DBTableProviderNew provider =new DBTableProviderNew();
+            QFilter filtercol=new QFilter("number",QCP.equals,bizappnumber);
+            //业务云
+            DynamicObject bizappcloudDy=BusinessDataServiceHelper
+                    .loadSingle("bos_devportal_bizapp","id,bizcloud.number",new QFilter[]{filtercol});
+            //业务云编码
+            String bizcloudnum=bizappcloudDy.getString("bizcloud.number");
             //设置为sys系统服务云库
-            provider.setRoute(DBRoute.of("sys"));
+            provider.setRoute(DBRoute.of(bizcloudnum));
+
             Map<String, DesignerTable> tableMap =provider
                     .getTableInfo_youhua(Collections.singletonList(tabledatabasic.getString("tablename")),
                             Collections.singletonList(tabledatabasic.getString("id")));

+ 32 - 12
src/main/java/sys/sc/formplugin/CreatDatPlugin.java

@@ -13,7 +13,10 @@ import sys.sc.opplugin.utils.SftpClient;
 
 import java.io.File;
 import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 
 /**
@@ -89,20 +92,37 @@ public class CreatDatPlugin extends AbstractListPlugin {
             String username=jkdataDy.getString("nckd_user");
             //服务器密码
             String password=jkdataDy.getString("nckd_password");
-
             //服务器端口号
             int port=jkdataDy.getInt("nckd_port");
-//            SftpClient sftpClient=new SftpClient(host,username,password,port);
-//            //获取服务器连接
-//            try {
-//                sftpClient.connect();
-//                //上传文件到服务器指定路径
-//                sftpClient.fileCreat(filePath,nckd_url+filename);
-//                //关闭连接
-//                sftpClient.disconnect();
-//            } catch (Exception e) {
-//                throw new RuntimeException(e);
-//            }
+            SftpClient sftpClient=new SftpClient(host,username,password,port);
+            //获取服务器连接
+            try {
+                sftpClient.connect();
+                //上传文件到服务器指定路径
+                sftpClient.fileCreat(filePath,nckd_url+filename);
+            } catch (Exception e) {
+                throw new RuntimeException(e);
+            }
+            //关闭连接
+            sftpClient.disconnect();
+        }
+        if (name.equals("uploadfile"))
+        {
+            String remoteFilePath="/home/kingdee/cosmic/nginx-appstatic/store/appstatic/";
+            SftpClient sftpClient=new SftpClient("192.168.10.69","root","Kd@86262007",22);
+            try {
+                sftpClient.connect();
+                // 创建一个新的远程文件并写入内容
+                Path localFile = Files.createTempFile("tempfile", ".txt");
+                Files.write(localFile, Collections.singleton("Hello, SFTP!"));
+                sftpClient.fileCreat(localFile.toString(),remoteFilePath);  // 清理临时文件
+                Files.delete(localFile);
+            } catch (IOException e) {
+                throw new RuntimeException(e);
+            } catch (Exception e) {
+                throw new RuntimeException(e);
+            }
+            sftpClient.disconnect();
         }
 
     }

+ 0 - 2
src/main/java/sys/sc/opplugin/utils/DatFileCreatUtils.java

@@ -69,8 +69,6 @@ public class DatFileCreatUtils {
                 }
                 file.createNewFile();
             }
-            //获取服务器连接
-
             try (BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filePath), "GBK"))) {
                 while(dataSet.hasNext()) {
                     Row data = dataSet.next();

+ 1 - 0
src/main/java/sys/sc/opplugin/utils/SftpClient.java

@@ -52,6 +52,7 @@ public class SftpClient {
         //本地服务器传到服务器文件
         sftpChannel.put(localFilePath,remoteFilePath);
 
+
     }
 
     // 断开连接

+ 26 - 24
src/main/java/sys/sc/task/CreatDatDailyTask.java

@@ -71,10 +71,13 @@ public class CreatDatDailyTask extends AbstractTask {
                             ",nckd_password,nckd_split,nckd_endsign",new QFilter[]{qFilter});
             //文件名
             String filename=tablenumber+".dat";
-            String filedir="C:\\datTemp";
+            //服务器路径
+            String nckd_url=jkdataDy.getString("nckd_url");
+            if (nckd_url.equals("/var/appstatic/")) {
+                nckd_url="/home/kingdee/cosmic/nginx-appstatic/store/appstatic/";
+            }
             //生成文件的路径
-            String filePath=filedir+"/"+filename;
-
+            String filePath=nckd_url+"/"+filename;
             //分割符号
             String spiltsign=jkdataDy.getString("nckd_split");
             //结束符号
@@ -84,27 +87,26 @@ public class CreatDatDailyTask extends AbstractTask {
             //生成dat文件到本地
             datFileCreatUtils.creatDatFile();
             //上传文件到服务器中
-            //服务器端口
-            String host=jkdataDy.getString("nckd_servername");
-            //服务器用户名
-            String username=jkdataDy.getString("nckd_user");
-            //服务器密码
-            String password=jkdataDy.getString("nckd_password");
-            //服务器路径
-            String nckd_url=jkdataDy.getString("nckd_url");
-            //服务器端口号
-            int port=jkdataDy.getInt("nckd_port");
-            SftpClient sftpClient=new SftpClient(host,username,password,port);
-            //获取服务器连接
-            try {
-                sftpClient.connect();
-                //上传文件到服务器指定路径
-                sftpClient.fileCreat(filePath,nckd_url+filename);
-                //关闭连接
-                sftpClient.disconnect();
-            } catch (Exception e) {
-                throw new RuntimeException(e);
-            }
+//            //服务器端口
+//            String host=jkdataDy.getString("nckd_servername");
+//            //服务器用户名
+//            String username=jkdataDy.getString("nckd_user");
+//            //服务器密码
+//            String password=jkdataDy.getString("nckd_password");
+//            //服务器路径
+//            //服务器端口号
+//            int port=jkdataDy.getInt("nckd_port");
+//            SftpClient sftpClient=new SftpClient(host,username,password,port);
+//            //获取服务器连接
+//            try {
+//                sftpClient.connect();
+//                //上传文件到服务器指定路径
+//                sftpClient.fileCreat(filePath,nckd_url+filename);
+//                //关闭连接
+//                sftpClient.disconnect();
+//            } catch (Exception e) {
+//                throw new RuntimeException(e);
+//            }
         }
     }