精华内容
下载资源
问答
  • 2022-03-15 22:07:21

    最近公司有个数据对接需求,合作方那边是使用我们这边的系统进行出单的,数据首先也是在我们这边。后面他们自己开发了业务系统,需要我们这边定时把每天的数据传送到那边去。他们那边开发部门要求我们这边,按一定的格式导出加签加密的数据文件到他们的sftp服务器上面去。sftp代码之前同事有写过类似的代码,就把他的给我啦,既然有了代码,当然要消化成自己的知识啦!这个过程中也遇到一些坑,就是我们上传到sftp目录的时候,文件一多我们就得隔开文件夹,一般都是按年月隔开的,但是sftp切换目录后,如果目录不存在,我们就新建目录,这样的逻辑是没毛病,但是它没办法一次建多级目录,比如/home 下面可以建/home/2022/ 没办法建/home/2022/03(会报异常),所以这个的话我们还得用循环来做。

    一、代码

    先给大家看下代码:

        String userName = "";//账号
        String password = ""; //密码
        String host = "";  //ip
        int port=8889; //端口号
        String sftpUrl = "/application/data";   //上传到sftp服务器 路径
        String publicUrl = "E://";     //要上传的文件
        String yyyy = DateUtils.formatDate(new Date(), "yyyy");
        String mm = DateUtils.formatDate(new Date(), "MM");
        String uploadUrl = sftpUrl + "/" + yyyy + "/" + mm;
            //存储目录地址
        List dirs = new ArrayList();
        dirs.add(0, jiangTaiFileUrl + "/" + yyyy + "/");
        dirs.add(1, jiangTaiFileUrl + "/" + yyyy + "/" + mm + "/");
            
                try {
                    //1.获取会话
                    JSch jSch = new JSch();
                    Session session = jSch.getSession(userName, host, port);
                    session.setPassword(password);
                    Properties properties = new Properties();
                    properties.put("StrictHostKeyChecking", "no");
                    session.setConfig(properties);
                    session.connect();
                    //2.获取上传的管道
                    Channel channel = session.openChannel("sftp");
                    channel.connect();
                    sftp = (ChannelSftp) channel;
                    if (!(uploadUrl == null || uploadUrl.trim().length() == 0)) {
                        for (int index = 0; index < dirs.size(); index++) {
                            //目录不存在,新建目录
                            try {
                                sftp.cd(uploadUrl);//进入指定目录
                                break;
                            } catch (SftpException e1) {
    
                                try {
                                    sftp.cd(dirs.get(index).toString());
                                } catch (SftpException e2) {
                                    try {
                                        sftp.mkdir(dirs.get(index).toString());
                                        sftp.cd(dirs.get(index).toString());
                                    } catch (SftpException e3) {
                                        logger.error("SFTP切换目录出错!", e3);
                                    }
                                }
                            }
                        }
                    }
    
                    //读取源文件流(客户端文件)
                    InputStream client_fileInput = new FileInputStream(publicUrl );
    
                    sftp.put(client_fileInput, “上传后的文件名”);
                    //传送到服务端
                    //5.关闭
                    sftp.disconnect();
                    client_fileInput.close();
                    channel.disconnect();
                    session.disconnect();
                    logger.info("sftp传输成功");
                } catch (Exception e) {
                    logger.info("sftp传输失败: " + e.toString());
                    e.printStackTrace();
                }
    

    一般上传完文件后,需要删除本地的文件以免占用空间

        /**
         * 迭代删除文件夹
         * @param dirPath 文件夹路径
         */
        public static void deleteDir(String dirPath) {
            File file = new File(dirPath);
            if(!file.exists()){
                return;
            }
            if(file.isFile())
            {
                file.delete();
            }else {
                File[] files = file.listFiles();
                if(files == null) {
                    file.delete();
                }else {
                    for (int i = 0; i < files.length; i++) {
                        deleteDir(files[i].getAbsolutePath());
                    }
                    file.delete();
                }
            }
        }
    

    这里我遇到个坑,就是你们发现文件夹或者文件没删除或者没删除干净,就要检查一下流有没有关闭,传递流的时候最好不要直接 xxx方法(new FileInputStream),用下面这种方式比较好,好排查问题,哈哈。
    FileInputStream file=new FileInputStream(""); xxx方法(file);file.close();

    二、sftp连接过程

    2.1、 JSch简介

    JSch库可以实现Java连接Linux服务器并操作命令、文件等,支持常用的各种授权模式。

    3.1、JSch建立会话连接

    从JSch对象中获取Session,用于连接,并设置连接信息,账号、密码、服务器地址、端口号。

    3.2 、 设置连接的参数配置

    StrictHostKeyChecking=no 最不安全的级别,当然也没有那么多烦人的提示了,相对安全的内网测试时建议使用。如果连接server的key在本地不存在,那么就自动添加到文件中(默认是known_hosts),并且给出一个警告。
    StrictHostKeyChecking=ask 默认的级别。如果连接和key不匹配,给出提示,并拒绝登录。
    StrictHostKeyChecking=yes 最安全的级别,如果连接与key不匹配,就拒绝连接,不会提示详细信息。
    

    3.3、获取文件上传的通道

    通过以上的步骤,我们与sftp服务器建立了连接后,我们需要获取文件的传输通道Channel,并指定为sftp服务,随便进行connect()连接。

    3.3、常用命令

    获取了sftp通道,我们可以类似在linux下简单做一些shell指令操作:
    mkdir()方法 创建目录,只允许创建一级目录
    cd()方法 切换目录
    put()方法 上传文件
    rm()方法 删除文件

    还有很多,大家可以直接看对象的对应方法就知道了,方法命名跟我们平时用的linux命令差不多。

    3.4、用完一定要记得关闭各种连接跟流呀!!!!!!

    更多相关内容
  • java上传文件服务器

    2019-10-24 03:30:18
    java上传文件服务器,将本地的文件上传到服务器上去 java上传文件服务器,将本地的文件上传到服务器上去
  • 主要介绍了Java如何实现上传文件服务器指定目录,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • Java上传文件服务器端的方法

    千次阅读 2021-02-12 14:15:38
    Web文件上传采用POST的方式,与POST提交表单不同的是,上传文件需要设置FORM的enctype属性为multipart/form-data.由于上传的文件会比较大,因此需要设置该参数指定浏览器使用二进制上传。如果不设置,enctype属性...

    Web文件上传采用POST的方式,与POST提交表单不同的是,上传文件需要设置FORM的enctype属性为multipart/form-data.由于上传的文件会比较大,因此需要设置该参数指定浏览器使用二进制上传。如果不设置,enctype属性默认为application/x-www-form-urlencoded,使用浏览器将使用ASCII向服务器发送数据,导致发送文件失败。

    上传文件要使用文件域(,并把FORM的Enctype设置为multipart/form-data.

    客户端上传页面如图所示:

    e9cee3745d6b19a65c72904c565e95bd.png

    代码如下:

    upload.html

    上传文件

    上传文件

    上传文件一
    上传文件二
    上传文件说明一
    上传文件说明二

    客户端运行的代码很简单,服务器要复杂一点。要想获取其中的内容,必须根据HTTP协议所规定的格式来解析浏览器提交的Request.

    解析二进制流比较麻烦。已经有许多类库已经完成了这项工作,例如SmartUpload与Apache Commons Fileupload.SmartUpload是一个商业类库,解析Request过程中数据存放在内存里,因此速度较快,但上传较大文件时会发生内存溢出。Apache Commons Fileupload是一个免费的开源的类库。一些框架比如Struts里集成了Apache Common Fileupload类库来实现文件上传。

    如图所示:

    d52348ddf476ad7f1fda2f0fb5f49682.png

    代码如下:

    package com.helloweenvsfei.servlet;

    import java.io.File;

    import java.io.FileOutputStream;

    import java.io.IOException;

    import java.io.InputStream;

    import java.io.OutputStream;

    import java.io.PrintWriter;

    import java.net.URLEncoder;

    import java.util.List;

    import javax.servlet.ServletException;

    import javax.servlet.http.HttpServlet;

    import javax.servlet.http.HttpServletRequest;

    import javax.servlet.http.HttpServletResponse;

    import org.apache.commons.fileupload.DiskFileUpload;

    import org.apache.commons.fileupload.FileItem;

    import org.apache.commons.fileupload.FileUploadException;

    public class UploadServlet extends HttpServlet {

    private static final long serialVersionUID = 7523024737218332088L;

    public void doGet(HttpServletRequest request, HttpServletResponse response)

    throws ServletException, IOException {

    response.setCharacterEncoding("UTF-8");

    response.getWriter().println("请以 POST 方式上传文件");

    }

    @SuppressWarnings("unchecked")

    public void doPost(HttpServletRequest request, HttpServletResponse response)

    throws ServletException, IOException {

    File file1 = null, file2 = null;

    String description1 = null, description2 = null;

    response.setCharacterEncoding("UTF-8");

    response.setContentType("text/html");

    PrintWriter out = response.getWriter();

    out.println(""-//W3C//DTD HTML 4.01 Transitional//EN\">");

    out.println("");

    out.println("

    A Servlet");

    out.println(" ");

    out.println("

    ");

    out.println("


    ");

    out.println("

    上传文件
    ");

    out.println("

    ");

    out.println("

    上传日志:
    ");

    out.println("

    ");

    // 使用 DiskFileUpload 对象解析 request

    DiskFileUpload diskFileUpload = new DiskFileUpload();

    try {

    // 将 解析的结果 放置在 List 中

    List list = diskFileUpload.parseRequest(request);

    out.println("遍历所有的 FileItem ...
    ");

    // 遍历 list 中所有的 FileItem

    for(FileItem fileItem : list){

    if(fileItem.isFormField()){

    // 如果是 文本域

    if("description1".equals(fileItem.getFieldName())){

    // 如果该 FileItem 名称为 description1

    out.println("遍历到 description1 ...
    ");

    description1 = new String(fileItem.getString().getBytes(), "UTF-8");

    }

    if("description2".equals(fileItem.getFieldName())){

    // 如果该 FileItem 名称为 description2

    out.println("遍历到 description2 ...
    ");

    description2 = new String(fileItem.getString().getBytes(), "UTF-8");

    }

    }

    else{

    // 否则,为文件域

    if("file1".equals(fileItem.getFieldName())){

    // 客户端文件路径构建的 File 对象

    File remoteFile = new File(new String(fileItem.getName().getBytes(), "UTF-8"));

    out.println("遍历到 file1 ...
    ");

    out.println("客户端文件位置: " + remoteFile.getAbsolutePath() + "
    ");

    // 服务器端文件,放在 upload 文件夹下

    file1 = new File(this.getServletContext().getRealPath("attachment"), remoteFile.getName());

    file1.getParentFile().mkdirs();

    file1.createNewFile();

    // 写文件,将 FileItem 的文件内容写到文件中

    InputStream ins = fileItem.getInputStream();

    OutputStream ous = new FileOutputStream(file1);

    try{

    byte[] buffer = new byte[1024];

    int len = 0;

    while((len=ins.read(buffer)) > -1)

    ous.write(buffer, 0, len);

    out.println("已保存文件" + file1.getAbsolutePath() + "
    ");

    }finally{

    ous.close();

    ins.close();

    }

    }

    if("file2".equals(fileItem.getFieldName())){

    // 客户端文件路径构建的 File 对象

    File remoteFile = new File(new String(fileItem.getName().getBytes(), "UTF-8"));

    out.println("遍历到 file2 ...
    ");

    out.println("客户端文件位置: " + remoteFile.getAbsolutePath() + "
    ");

    // 服务器端文件,放在 upload 文件夹下

    file2 = new File(this.getServletContext().getRealPath("attachment"), remoteFile.getName());

    file2.getParentFile().mkdirs();

    file2.createNewFile();

    // 写文件,将 FileItem 的文件内容写到文件中

    InputStream ins = fileItem.getInputStream();

    OutputStream ous = new FileOutputStream(file2);

    try{

    byte[] buffer = new byte[1024];

    int len = 0;

    while((len=ins.read(buffer)) > -1)

    ous.write(buffer, 0, len);

    out.println("已保存文件" + file2.getAbsolutePath() + "
    ");

    }finally{

    ous.close();

    ins.close();

    }

    }

    }

    }

    out.println("Request 解析完毕");

    } catch (FileUploadException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    out.println("

    ");

    out.println("

    ");

    if(file1 != null){

    out.println("

    ");

    out.println("

    file1:
    ");

    out.println("

    ");

    out.println(" " + file1.getName() + "" );

    out.println("

    ");

    out.println("

    ");

    }

    if(file2 != null){

    out.println("

    ");

    out.println("

    file2:
    ");

    out.println("

    ");

    out.println(" " + file2.getName() + "" );

    out.println("

    ");

    out.println("

    ");

    }

    out.println("

    ");

    out.println("

    description1:
    ");

    out.println("

    ");

    out.println(description1);

    out.println("

    ");

    out.println("

    ");

    out.println("

    ");

    out.println("

    description2:
    ");

    out.println("

    ");

    out.println(description2);

    out.println("

    ");

    out.println("

    ");

    out.println("

    ");

    out.println(" ");

    out.println("");

    out.flush();

    out.close();

    }

    }

    程序运行效果如图所示:

    1c111747b259d0be37398fd63c60db32.png

    本文已被整理到了《Java上传操作技巧汇总》,欢迎大家学习阅读。

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

    展开全文
  • 本文通过实例代码给大家介绍了java上传文件图片到指定服务器目录的相关知识,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
  • Apache commons-net 上传文件至FTP服务器
  • 主要介绍了JAVA技术实现上传下载文件到FTP服务器(完整),本文使用 Apache Jakarta Commons Net(commons-net-3.3.jar) 基于FileZilla Server服务器实现FTP服务器文件上传/下载/删除等操作,需要的朋友可以参考下
  • 本测试服务主要是利用postman上传,后端接收图片保存至服务器,并且返回一个可以下载图片的URL路径
  • JAVA操作FTP文件服务器上传与下载文件,包含远程动态创建文件夹、查看文件是否存在、删除文件、上传文件和下载文件等方法
  • JAVA中生成xml文件到指定路径和上传到ftp服务器到指定路径的方法。
  • java 实现上传文件到远程服务器

    热门讨论 2014-11-19 12:23:29
    java实现上传文件到远程服务器(spring mvc)
  • 使用freemarker生成的静态文件,统一存储在某个服务器上。本来一开始打算使用ftp实现的,奈何老连接不上,改用jsch。毕竟有现成的就很舒服,在此介绍给大家。 具体实现 引入的pom <dependency> <groupId&...

    前言需求

    使用freemarker生成的静态文件,统一存储在某个服务器上。本来一开始打算使用ftp实现的,奈何老连接不上,改用jsch。毕竟有现成的就很舒服,在此介绍给大家。

    具体实现

    引入的pom

    <dependency>
    	<groupId>ch.ethz.ganymed</groupId>
    	<artifactId>ganymed-ssh2</artifactId>
    	<version>262</version>
    </dependency>
    
    <dependency>
    	<groupId>com.jcraft</groupId>
    	<artifactId>jsch</artifactId>
    	<version>0.1.55</version>
    </dependency>
    

    建立实体类

    public class ResultEntity {
    
        private String code;
    
        private String message;
    
        private File file;
        
        public ResultEntity(){}
        
    	public ResultEntity(String code, String message, File file) {
    		super();
    		this.code = code;
    		this.message = message;
    		this.file = file;
    	}
    
    	public String getCode() {
    		return code;
    	}
    
    	public void setCode(String code) {
    		this.code = code;
    	}
    
    	public String getMessage() {
    		return message;
    	}
    
    	public void setMessage(String message) {
    		this.message = message;
    	}
    
    	public File getFile() {
    		return file;
    	}
    
    	public void setFile(File file) {
    		this.file = file;
    	}
        
    }
    
    public class ScpConnectEntity {
        private String userName;
        private String passWord;
        private String url;
        private String targetPath;
    
        public String getTargetPath() {
            return targetPath;
        }
    
        public void setTargetPath(String targetPath) {
            this.targetPath = targetPath;
        }
    
        public String getUserName() {
            return userName;
        }
    
        public void setUserName(String userName) {
            this.userName = userName;
        }
    
        public String getPassWord() {
            return passWord;
        }
    
        public void setPassWord(String passWord) {
            this.passWord = passWord;
        }
    
        public String getUrl() {
            return url;
        }
    
        public void setUrl(String url) {
            this.url = url;
        }
    
    }
    
    

    建立文件上传工具类

    @Configuration
    public class FileUploadUtil {
    
        @Value("${remoteServer.url}")
        private String url;
    
        @Value("${remoteServer.password}")
        private String passWord;
    
        @Value("${remoteServer.username}")
        private String userName;
    
        @Async
        public ResultEntity uploadFile(File file, String targetPath, String remoteFileName) throws Exception{
            ScpConnectEntity scpConnectEntity=new ScpConnectEntity();
            scpConnectEntity.setTargetPath(targetPath);
            scpConnectEntity.setUrl(url);
            scpConnectEntity.setPassWord(passWord);
            scpConnectEntity.setUserName(userName);
    
            String code = null;
            String message = null;
            try {
                if (file == null || !file.exists()) {
                    throw new IllegalArgumentException("请确保上传文件不为空且存在!");
                }
                if(remoteFileName==null || "".equals(remoteFileName.trim())){
                    throw new IllegalArgumentException("远程服务器新建文件名不能为空!");
                }
                remoteUploadFile(scpConnectEntity, file, remoteFileName);
                code = "ok";
                message = remoteFileName;
            } catch (IllegalArgumentException e) {
                code = "Exception";
                message = e.getMessage();
            } catch (JSchException e) {
                code = "Exception";
                message = e.getMessage();
            } catch (IOException e) {
                code = "Exception";
                message = e.getMessage();
            } catch (Exception e) {
                throw e;
            } catch (Error e) {
                code = "Error";
                message = e.getMessage();
            }
            return new ResultEntity(code, message, null);
        }
    
    
        private void remoteUploadFile(ScpConnectEntity scpConnectEntity, File file,
                                     String remoteFileName) throws JSchException, IOException {
    
            Connection connection = null;
            ch.ethz.ssh2.Session session = null;
            SCPOutputStream scpo = null;
            FileInputStream fis = null;
    
            try {
                createDir(scpConnectEntity);
            }catch (JSchException e) {
                throw e;
            }
    
            try {
                connection = new Connection(scpConnectEntity.getUrl());
                connection.connect();
    
                if(!connection.authenticateWithPassword(scpConnectEntity.getUserName(),scpConnectEntity.getPassWord())){
                    throw new RuntimeException("SSH连接服务器失败");
                }
                session = connection.openSession();
    
                SCPClient scpClient = connection.createSCPClient();
    
                scpo = scpClient.put(remoteFileName, file.length(), scpConnectEntity.getTargetPath(), "0666");
                fis = new FileInputStream(file);
    
                byte[] buf = new byte[1024];
                int hasMore = fis.read(buf);
    
                while(hasMore != -1){
                    scpo.write(buf);
                    hasMore = fis.read(buf);
                }
            } catch (IOException e) {
                throw new IOException("SSH上传文件至服务器出错"+e.getMessage());
            }finally {
                if(null != fis){
                    try {
                        fis.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                if(null != scpo){
                    try {
                        scpo.flush();
    //                    scpo.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
                if(null != session){
                    session.close();
                }
                if(null != connection){
                    connection.close();
                }
            }
        }
    
    
        private boolean createDir(ScpConnectEntity scpConnectEntity ) throws JSchException {
    
            JSch jsch = new JSch();
            com.jcraft.jsch.Session sshSession = null;
            Channel channel= null;
            try {
                sshSession = jsch.getSession(scpConnectEntity.getUserName(), scpConnectEntity.getUrl(), 22);
                sshSession.setPassword(scpConnectEntity.getPassWord());
                sshSession.setConfig("StrictHostKeyChecking", "no");
                sshSession.connect();
                channel = sshSession.openChannel("sftp");
                channel.connect();
            } catch (JSchException e) {
                e.printStackTrace();
                throw new JSchException("SFTP连接服务器失败"+e.getMessage());
            }
            ChannelSftp channelSftp=(ChannelSftp) channel;
            if (isDirExist(scpConnectEntity.getTargetPath(),channelSftp)) {
                channel.disconnect();
                channelSftp.disconnect();
                sshSession.disconnect();
                return true;
            }else {
                String pathArry[] = scpConnectEntity.getTargetPath().split("/");
                StringBuffer filePath=new StringBuffer("/");
                for (String path : pathArry) {
                    if (path.equals("")) {
                        continue;
                    }
                    filePath.append(path + "/");
                    try {
                        if (isDirExist(filePath.toString(),channelSftp)) {
                            channelSftp.cd(filePath.toString());
                        } else {
                            // 建立目录
                            channelSftp.mkdir(filePath.toString());
                            // 进入并设置为当前目录
                            channelSftp.cd(filePath.toString());
                        }
                    } catch (SftpException e) {
                        e.printStackTrace();
                        throw new JSchException("SFTP无法正常操作服务器"+e.getMessage());
                    }
                }
            }
            channel.disconnect();
            channelSftp.disconnect();
            sshSession.disconnect();
            return true;
        }
    
        private boolean isDirExist(String directory,ChannelSftp channelSftp) {
            boolean isDirExistFlag = false;
            try {
                SftpATTRS sftpATTRS = channelSftp.lstat(directory);
                isDirExistFlag = true;
                return sftpATTRS.isDir();
            } catch (Exception e) {
                if (e.getMessage().toLowerCase().equals("no such file")) {
                    isDirExistFlag = false;
                }
            }
            return isDirExistFlag;
        }
    }
    

    属性我都写在Spring的配置文件里面了。将这个类托管给spring容器。
    如果在普通类里面使用这个类,就需要看一下上篇博客了。哈哈。

    总结

    在我们使用的时候,主要调uploadFile这个方法即可。传递File文件,目标路径及文件名称。
    在这里插入图片描述

    展开全文
  • 使用Java远程上传压缩包到服务器,或者在服务器上拉去压缩包或者文件,在服务器上创建目录。
  • java本地文件上传到远程服务器

    千次阅读 2021-08-08 06:41:37
    本节为您介绍本地Windows计算机通过远程桌面连接,上传文件至Windows云服务器的操作方法。Windows云服务器可以访问公网。在本地Windows计算机上,单击“开始”,在出现的“搜索程序和文件”输入框中输入mstsc。弹出...

    java本地文件上传到远程服务器 内容精选

    换一换

    c8a5a5028d2cabfeeee0907ef5119e7e.png

    将文件上传至Windows云服务器一般会采用MSTSC远程桌面连接的方式。本节为您介绍本地Windows计算机通过远程桌面连接,上传文件至Windows云服务器的操作方法。Windows云服务器可以访问公网。在本地Windows计算机上,单击“开始”,在出现的“搜索程序和文件”输入框中输入mstsc。弹出远程桌面连接对话框。弹出远程桌面连

    将文件上传至Windows云服务器一般会采用MSTSC远程桌面连接的方式。本节为您介绍本地Windows计算机通过远程桌面连接,上传文件至Windows云服务器的操作方法。Windows云服务器可以访问公网。在本地Windows计算机上,单击“开始”,在出现的“搜索程序和文件”输入框中输入mstsc。弹出远程桌面连接对话框。弹出远程桌面连

    java本地文件上传到远程服务器 相关内容

    WinSCP工具可以实现在本地与远程计算机之间安全地复制文件。与使用FTP上传代码相比,通过 WinSCP 可以直接使用服务器账户密码访问服务器,无需在服务器端做任何配置。通常本地Windows计算机将文件上传至Linux服务器一般会采用WinSCP工具。本节为您介绍本地Windows计算机使用WinSCP工具,上传文件至Linux云服务

    将文件上传至Linux服务器一般会采用WinSCP工具。本节为您介绍本地Windows计算机使用WinSCP工具,上传文件至Linux云服务器的操作方法。以下以CentOS 7.2为例。Linux云服务器可以访问公网。下载 WinSCP 客户端并安装。单击这里下载:https://winscp.net/eng/docs/lang:chs。

    java本地文件上传到远程服务器 更多内容

    c98716077afa118c4722d3df701d5c06.png

    本节操作介绍如何在Windows操作系统的本地主机上使用FTP上传文件到云服务器。已在待上传文件的云服务器中搭建 FTP 服务。如果您的云服务器为 Windows 操作系统,具体操作请参考 搭建FTP 站点(Windows)。如果您的云服务器为 Linux 操作系统,具体操作请参考 搭建FTP 站点(Linux)。在Windows本地主机

    55a2638139d68369d49b3058cd5d88e8.png

    本文介绍如何在 Linux 系统的本地机器上使用 FTP 服务,将文件从本地上传到云服务器中。已在待上传文件的云服务器中搭建 FTP 服务。如果您的云服务器为 Windows 操作系统,具体操作请参考 搭建FTP 站点(Windows)。如果您的云服务器为 Linux 操作系统,具体操作请参考 搭建FTP 站点(Linux)。Linux操

    ef7fa0a88cabe2097a016125d8d62832.png

    安装传输工具在本地主机和Windows云服务器上分别安装数据传输工具,将文件上传到云服务器。例如QQ.exe。在本地主机和Windows云服务器上分别安装数据传输工具,将文件上传到云服务器。例如QQ.exe。本地磁盘映射(推荐使用)使用远程桌面连接MSTSC方式进行数据传输。该方式不支持断点续传,可能存在传输中断的情况,因此不建议上传大文

    784dc64e49dbbf1bc7916486d97eab2c.png

    在本地主机和Windows云服务器上分别安装QQ.exe等工具进行数据传输。使用远程桌面连接mstsc方式进行数据传输。该方式不支持断点续传,可能存在传输中断的情况,因此不建议上传大文件。文件较大时,建议使用部署FTP服务等方式进行数据互传。登录本地主机。使用快捷键“Win+R”打开“运行”窗口。在“打开”栏,输入“mstsc”,打开远程

    a4c4c5b28481f97f2139da8bb7c47c58.png

    怎样上传文件到Windows操作系统云服务器?安装传输工具在本地主机和Windows云服务器上分别安装数据传输工具,将文件上传到云服务器。例如QQ.exe。在本地主机和Windows云服务器上分别安装数据传输工具,将文件上传到云服务器。例如QQ.exe。本地磁盘映射(推荐使用)使用远程桌面连接MSTSC方式进行数据传输。该方式不支持断点续

    e8856eb4a33744e9e363326f14bf7b97.png

    在本地主机和Windows弹性云服务器上分别安装QQ.exe等工具进行数据传输。使用远程桌面连接mstsc方式进行数据传输。该方式不支持断点续传,可能存在传输中断的情况,因此不建议上传大文件。文件较大时,建议使用部署FTP服务等方式进行数据互传。登录本地主机。使用快捷键“Win+R”打开“运行”窗口。在“打开”栏,输入“mstsc”,打开

    9548b768b78243d473da1b2758db3f2b.png

    本节操作介绍本地MacOS系统主机通过安装“Microsoft Remote Desktop for Mac”工具向Windows云服务器传输文件的操作步骤。本地主机已安装Microsoft Remote Desktop for Mac或其他Mac OS系统适用的远程连接工具。下载Microsoft Remote Desktop for

    c0e51685ecf1c455eed0daf868911dc9.png

    弹性云服务器支持通过内网访问OBS,OBS可供用户存储任意类型的数据。将图片、视频等数据存储至OBS后,在ECS上可以访问OBS,下载桶中的图片或视频等数据。通过内网访问OBS,可以避免因网络不稳定导致的数据传输中断问题,且使用内网访问OBS不收取流量费用,最大化的优化性能、节省开支,提高文件上传成功率。当通过内网访问OBS时,需要确保待

    b203ffbda48cf64af447ca0126ea2d66.png

    云堡垒机配置了FTP/SFTP远程备份,报请检查服务器密码或网络连接情况错误,不能启动远程备份。选择备份具体某一天日志,提示备份正在执行,但远程服务器未接收到该备份文件。原因一:云堡垒机配置的FTP/SFTP服务器账户或密码错误,导致远程备份失败。原因二:云堡垒机与FTP/SFTP服务器的网络连接不通,导致远程备份失败。原因三:FTP/S

    3534dd170a545b94273de228dc486b40.png

    操作系统镜像文件名称请参见鲲鹏开发套件兼容性查询助手,请自行获取对应操作系统版本的镜像文件。如果操作系统环境可以联网,且确保操作系统默认的yum/apt/zypper源可用,除CentOS 8.0/8.1外,其他操作系统无需执行本章节的操作。以下步骤以CentOS 7.6为例,其他操作系统配置yum源的步骤相同。mount/root/Ce

    22d5e09c1bd36dc697ac56f0e92512a6.png

    已成功登录Java性能分析。待安装Guardian的服务器已开启sshd。待安装Guardian的服务器已安装JRE,JRE版本要求为Huawei JDK 8或者Open JDK 8/11。Java性能分析优先选用非交互shell(non-interactive shell)中的JAVA_HOME环境变量所指定的JRE版本运行Guardi

    展开全文
  • 1、首先将文件上传服务器, 2、将文件传到数据库 3、上传完成后,删除文件
  • java web接收上传文件服务器端示例

    热门讨论 2015-03-15 13:58:37
    做毕业设计的时候Android端要求把相关文件传到服务器端保存,目前这个就是用来接收文件上传请求的简单项目,目前就是在传送参数的时候中文会乱码,但是传送的文件不会乱码
  • java web文件上传至服务器示例

    热门讨论 2011-12-01 15:32:26
    java web 开发 上传文件至服务端保存于服务端某个文件夹下 java代码示例
  • Java上传文件到Linux服务器

    千次阅读 2021-06-26 09:10:40
    Java将数据按照固定的格式保存到txt文本文件中并上传到Linux服务器
  • 一般的文件上传(不依赖spring) /** * 保存文件 * * @param path 文件绝对路径 * @param fileBytes 文件字节数据 * @throws ApiServiceException */ public void save(String path, byte [] fileBytes) ...
  • Java上传文件服务器返回url

    千次阅读 2019-11-13 18:41:13
    } // 上传文件 @Override public String uploadFile(MultipartFile file) { try { return "/ba/"+saveImageReturnPath(file); } catch (Exception e) { e.printStackTrace(); } return null; ...
  • 1.首先搭建一个文件服务器,不管你是本地虚拟机镜像创建的服务器,还是买的云服务器,都适用。 1)先去下载一个tomcat的安装包,如果你下不到没关系,我有。 链接:...
  • java 实现文件上传服务器

    千次阅读 2021-07-16 17:07:32
    if (file == null) { logger.error("==> 没有上传文件。"); return Result.error("没有上传文件。"); } logger.info("==>文件名: " + file.getOriginalFilename()); uploadPath = fileService.handlerMultipartFile...
  • java上传文件到远程服务器(一)---HttpURLConnection方式

    万次阅读 多人点赞 2017-06-08 15:30:05
    我们在之前的文章JavaWeb静态资源分离思路中已经了解到要把文件上传到静态资源服务器有三种方式:java上传文件到ftp服务器(这个方案需要在静态资源服务器安装ftp服务)java使用HttpURLConnection上传文件到远程服务器 ...
  • 写给大忙人看的 - Java上传文件MinIO服务器(2)

    万次阅读 多人点赞 2020-05-10 18:25:48
    上一篇 写给大忙人看的 - 搭建文件服务器 MinIO(一),我们已经成功地搭建了 MinIO 文件服务器,这一篇讲解在 Java 中如何上传文件至 MinIO 一、开发前戏 1、项目中引入 maven 依赖 <!-- minio 相关依赖 --> ...
  • nginx报错信息: 解决方法: 将/etc/nginx/nginx.conf中的第一行改为root 参考文章:nginx权限问题failed(13:Permission denied) - 段小辉 - 博客园
  • JAVA上传文件到Windows服务器_共享目录(详细教程)

    千次阅读 热门讨论 2020-06-13 17:30:19
    这里首先要说一点,由于Windows系统设计的特殊性,不像我们常用的Linux系统那样,可通过默认SSH、SFTP等方式连接就可直接上传文件。所以这里选择的是使用Windows共享目录的方式,是不需要安装任何东西,使用共享目录...
  • java代码实现文件上传到本地服务器文件夹的详细步骤
  • Java FTP 实现跨服务器文件上传下载

    热门讨论 2013-11-19 13:44:01
    Java 程序实现的 FTP 跨服务器文件上传下载功能。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 239,676
精华内容 95,870
关键字:

java上传文件至服务器

java 订阅