精华内容
下载资源
问答
  • 大型文件传输

    千次下载 热门讨论 2011-12-18 16:32:27
    自己写的实现大型文件传输的例子,完整的工程。运行比较稳定,发送采用多线程实现,,局域网的测试发送速度在6.2M每秒。
  • Java Socket实现文件传输

    万次阅读 多人点赞 2016-09-01 17:00:26
    A:1核2GB1M服务器年86元 B:1核2GB1M服务器三年229元 C:2核4GB3M服务器三年799元(强烈推荐) D:2核8GB5M服务器三年1399元 ...最近学Socket学上瘾了,就写了一个简单的文件传输程序。 客户端设计思路:客户...

    阿里云双11服务器优惠(年度最佳优惠):
    A:1核2GB 1M 服务器年84元
    B:1核2GB 1M 服务器三年254元
    C:2核4GB 3M 服务器三年664元(强烈推荐)
    D:4核8GB 5M 服务器三年3001元
    以上均需新人才可以参加,同时还有企业专享服务器年2575元。
    活动地址:https://tb.am/6jbfl

     

    最近学Socket学上瘾了,就写了一个简单的文件传输程序。

    客户端设计思路:客户端与服务端建立连接,选择客户端本地文件,先将文件名及大小等属性发送给服务端,再将文件通过流的方式传输给服务端。传输的进度打印到控制台中,直到传输完成。

    服务端设计思路:服务端接收客户端的请求(阻塞式),每接收到一个客户端请求连接后,就新开一个处理文件的线程,开始写入流,将文件到服务器的指定目录下,并与传输过来的文件同名。
    下面是客户端和服务端的代码实现:

     

    客户端代码:

     

    import java.io.DataOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.net.Socket;
    
    /**
     * 文件传输Client端<br>
     * 功能说明:
     *
     * @author 大智若愚的小懂
     * @Date 2016年09月01日
     * @version 1.0
     */
    public class FileTransferClient extends Socket {
    
        private static final String SERVER_IP = "127.0.0.1"; // 服务端IP
        private static final int SERVER_PORT = 8899; // 服务端端口
    
        private Socket client;
    
        private FileInputStream fis;
    
        private DataOutputStream dos;
    
        /**
         * 构造函数<br/>
         * 与服务器建立连接
         * @throws Exception
         */
        public FileTransferClient() throws Exception {
            super(SERVER_IP, SERVER_PORT);
            this.client = this;
            System.out.println("Cliect[port:" + client.getLocalPort() + "] 成功连接服务端");
        }
    
        /**
         * 向服务端传输文件
         * @throws Exception
         */
        public void sendFile() throws Exception {
            try {
                File file = new File("E:\\JDK1.6中文参考手册(JDK_API_1_6_zh_CN).CHM");
                if(file.exists()) {
                    fis = new FileInputStream(file);
                    dos = new DataOutputStream(client.getOutputStream());
    
                    // 文件名和长度
                    dos.writeUTF(file.getName());
                    dos.flush();
                    dos.writeLong(file.length());
                    dos.flush();
    
                    // 开始传输文件
                    System.out.println("======== 开始传输文件 ========");
                    byte[] bytes = new byte[1024];
                    int length = 0;
                    long progress = 0;
                    while((length = fis.read(bytes, 0, bytes.length)) != -1) {
                        dos.write(bytes, 0, length);
                        dos.flush();
                        progress += length;
                        System.out.print("| " + (100*progress/file.length()) + "% |");
                    }
                    System.out.println();
                    System.out.println("======== 文件传输成功 ========");
                }
            } catch (Exception e) {
                e.printStackTrace();
            } finally {
                if(fis != null)
                    fis.close();
                if(dos != null)
                    dos.close();
                client.close();
            }
        }
    
        /**
         * 入口
         * @param args
         */
        public static void main(String[] args) {
            try {
                FileTransferClient client = new FileTransferClient(); // 启动客户端连接
                client.sendFile(); // 传输文件
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
    }

     

     

     

    服务端代码:

     

    import java.io.DataInputStream;
    import java.io.File;
    import java.io.FileOutputStream;
    import java.math.RoundingMode;
    import java.net.ServerSocket;
    import java.net.Socket;
    import java.text.DecimalFormat;
    
    /**
     * 文件传输Server端<br>
     * 功能说明:
     *
     * @author 大智若愚的小懂
     * @Date 2016年09月01日
     * @version 1.0
     */
    public class FileTransferServer extends ServerSocket {
    
        private static final int SERVER_PORT = 8899; // 服务端端口
    
        private static DecimalFormat df = null;
    
        static {
            // 设置数字格式,保留一位有效小数
            df = new DecimalFormat("#0.0");
            df.setRoundingMode(RoundingMode.HALF_UP);
            df.setMinimumFractionDigits(1);
            df.setMaximumFractionDigits(1);
        }
    
        public FileTransferServer() throws Exception {
            super(SERVER_PORT);
        }
    
        /**
         * 使用线程处理每个客户端传输的文件
         * @throws Exception
         */
        public void load() throws Exception {
            while (true) {
                // server尝试接收其他Socket的连接请求,server的accept方法是阻塞式的
                Socket socket = this.accept();
                /**
                 * 我们的服务端处理客户端的连接请求是同步进行的, 每次接收到来自客户端的连接请求后,
                 * 都要先跟当前的客户端通信完之后才能再处理下一个连接请求。 这在并发比较多的情况下会严重影响程序的性能,
                 * 为此,我们可以把它改为如下这种异步处理与客户端通信的方式
                 */
                // 每接收到一个Socket就建立一个新的线程来处理它
                new Thread(new Task(socket)).start();
            }
        }
    
        /**
         * 处理客户端传输过来的文件线程类
         */
        class Task implements Runnable {
    
            private Socket socket;
    
            private DataInputStream dis;
    
            private FileOutputStream fos;
    
            public Task(Socket socket) {
                this.socket = socket;
            }
    
            @Override
            public void run() {
                try {
                    dis = new DataInputStream(socket.getInputStream());
    
                    // 文件名和长度
                    String fileName = dis.readUTF();
                    long fileLength = dis.readLong();
                    File directory = new File("D:\\FTCache");
                    if(!directory.exists()) {
                        directory.mkdir();
                    }
                    File file = new File(directory.getAbsolutePath() + File.separatorChar + fileName);
                    fos = new FileOutputStream(file);
    
                    // 开始接收文件
                    byte[] bytes = new byte[1024];
                    int length = 0;
                    while((length = dis.read(bytes, 0, bytes.length)) != -1) {
                        fos.write(bytes, 0, length);
                        fos.flush();
                    }
                    System.out.println("======== 文件接收成功 [File Name:" + fileName + "] [Size:" + getFormatFileSize(fileLength) + "] ========");
                } catch (Exception e) {
                    e.printStackTrace();
                } finally {
                    try {
                        if(fos != null)
                            fos.close();
                        if(dis != null)
                            dis.close();
                        socket.close();
                    } catch (Exception e) {}
                }
            }
        }
    
        /**
         * 格式化文件大小
         * @param length
         * @return
         */
        private String getFormatFileSize(long length) {
            double size = ((double) length) / (1 << 30);
            if(size >= 1) {
                return df.format(size) + "GB";
            }
            size = ((double) length) / (1 << 20);
            if(size >= 1) {
                return df.format(size) + "MB";
            }
            size = ((double) length) / (1 << 10);
            if(size >= 1) {
                return df.format(size) + "KB";
            }
            return length + "B";
        }
    
        /**
         * 入口
         * @param args
         */
        public static void main(String[] args) {
            try {
                FileTransferServer server = new FileTransferServer(); // 启动服务端
                server.load();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

     

     

     

    测试的结果(客户端):

    测试的结果(服务端):

     

     

    展开全文
  • 利用FTP和云服务器进行文件传输首先需要 云服务器配置好FTP环境后,您可以通过: 1.资源管理器 2.第三方软件 与服务器进行文件传输 与服务器进行文件传输时首先要确保服务器安全组开放了21端口(入站规则为TCP21...

    使用FTP上传文件

    利用FTP和云服务器进行文件传输首先需要 云服务器配置好FTP环境后,您可以通过:

    1.资源管理器

    2.第三方软件

    与服务器进行文件传输

    与服务器进行文件传输时首先要确保服务器安全组开放了21端口(入站规则为TCP21号)

     

    1.通过资源管理器进行文件传输

    打开电脑自带的资源管理器。 在上方输入ftp://主机IP

    输入用户名和密码验证通过后即可完成连接

    如果连接过程中弹出错误窗口时 通过“开始”-“控制面板”打开控制面板

    找到“网络和Internet”并点击

    点击Internet选项

    在弹出的窗口中找到高级并点击,在设置的勾选框中取消勾选“使用被动FTP”,点击“应用”后“确定”

    之后再重新试一下即可连接成功

     

    2.使用第三方软件进行文件传输

    这里以CuteFTP 9.0为例进行示范 首先去下载CuteFTP,下载安装完成后,打开软件,通过“文件”-“新建”-“FTP站点”,在弹出的窗口进行一些设置: (1)在“一般”输入相应的信息,登录方法为“普通” (2)在“类型”选择数据连接类型为“使用PORT”,端口为21(如果不小心关闭了也可在“站点管理器”找到要更改的云服务器右键-“属性”重新打开)

    点击连接即可连接成功,左侧为本地文件,右侧为服务器文件,鼠标拖动(或右键-上载/下载)即可完成上载和下载

     

    3.我的热门文章推荐

    4.我的视频类文章推荐

     
    展开全文
  • 目录FastDFS业务场景概述部署FastDFS整合FastDFS和NginxFastDFS与Python交互重写Django项目文件传输行为 FastDFS业务场景概述 基于C语言开发的FastDFS是一项开源轻量级分布式文件系统,主要用于海量数据存储,有方便...

    FastDFS业务场景概述

    基于C语言开发的FastDFS是一项开源轻量级分布式文件系统,主要用于海量数据存储,有方便的可拓展性,记录文件指纹防止重复文件上传占用容量,主要用于电商平台等文件数据量大的系统

    部署FastDFS

    第一步,安装FastDFS依赖包

    #下载依赖包
    wget https://github.com/happyfish100/libfastcommon/archive/V1.0.7.tar.gz
    
    #解压
    tar -zxvf  V1.0.7.tar.gz
    
    #进入目录后编译
    ./make.sh
    
    #安装
    ./make.sh install
    
    #设置软链接
    ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
    ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
    ln -s /usr/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
    ln -s /usr/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
    

    第二步,安装FastDFS服务(安装完成后的配置目录:/etc/fdfs/…)

    #下载fastDFS安装包
    wget https://github.com/happyfish100/fastdfs/archive/V5.05.tar.gz
    
    #解压
    tar -zxvf  V5.05.tar.gz
    
    #进入目录后编译
    ./make.sh
    
    #安装
    ./make.sh install
    

    第三步,在FastDFS服务配置目录下配置tracker服务器,指定tracker服务器基本目录路径

    #创建基本目录存储data和logs文件(该目录可自定义)
    mkdir -p /var/chenchong/fdfs/tracker
    
    #将配置目录中的tracker服务器配置样例文件拷贝一份,做真正的tracker配置文件
    cp /etc/fdfs/tracker.conf.sample /etc/fdfs/tracker.conf
    
    #编辑tracker.conf配置文件,指定tracker服务器基本目录路径
    base_path=/var/chenchong/fdfs/tracker
    
    #启动 tracker 服务
    /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf
    
    #退出 tracker 服务
    /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf stop
    
    #重启 tracker 服务
    /usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
    
    #查看是否有 tracker 进程
    ps aux | grep tracker
    

    第四步,配置storage服务器

    #创建基本目录存储data和logs文件(该目录可自定义)
    mkdir -p /var/chenchong/fdfs/storage
    
    #将配置目录中的storage服务器配置样例文件拷贝一份,做真正的storage配置文件
    cp /etc/fdfs/storage.conf.sample /etc/fdfs/storage.conf
    
    #编辑storage.conf配置文件,指定storage服务器基本目录路径
    base_path=/var/chenchong/fdfs/storage
    
    #指定storage服务器文件存储路径(图片实际存放路径,如果有多个,这里可以有多行"base_path1=/var/chenchong/fdfs/storage1")
    base_path0=/var/chenchong/fdfs/storage
    
    #指定调度服务器tracker的IP地址和端口
    tracker_server=tracker服务器IP:端口
    
    #启动 storage服务
    /usr/bin/fdfs_storaged /etc/fdfs/storage.conf
    
    #退出 storage服务
    /usr/bin/fdfs_storaged /etc/fdfs/tracker.conf stop
    
    #重启 storage服务
    /usr/bin/fdfs_storaged /etc/fdfs/tracker.conf restart
    
    #查看是否有 storage进程
    ps aux | grep storaged
    

    第五步,检测tracker和storage是否能联通

    fdfs_monitor /etc/fdfs/storage.conf
    在这里插入图片描述

    第六步,配置client客户端

    #将配置目录中的client客户端配置样例文件拷贝一份,做真正的client配置文件
    cp /etc/fdfs/client.conf.sample /etc/fdfs/client.conf
    
    #编辑client.conf客户端配置文件,修改基本目录路径为调度服务器tracker的基本路径
    base_path=/var/chenchong/fdfs/tracker
    
    #指定调度服务器tracker的IP地址和端口(本机也可以使用0.0.0.0,切记不可使用127.0.0.1)
    tracker_server=tracker服务器IP:端口
    

    第七步,客户端使用

    #使用fdfs_upload_file 命令指定文件上传到存储服务器
    #如果返回类似group1/M00/00/00/wKj-iV6ESVqAeBq7AAAAAAAAAAA524.txt的文件id则说明文件上传成功
    fdfs_upload_file /etc/fdfs/client.conf 要上传的文件路径
    

    整合FastDFS和Nginx

    nginx和nginx插件下载与解压

    #下载nginx
    wget http://nginx.org/download/nginx-1.11.8.tar.gz
    
    #下载nginx插件,用于连接FastDFS服务
    wget http://jaist.dl.sourceforge.NET/project/fastdfs/FastDFS%20Nginx%20Module%20Source%20Code/fastdfs-nginx-module_v1.16.tar.gz
    
    #解压 Nginx到opt目录下(随意)
    tar zxvf nginx-1.11.8.tar.gz -C /opt
    
    #解压 Nginx 模块插件到opt目录下(随意)
    tar zxvf fastdfs-nginx-module_v1.16.tar.gz -C /opt
    

    nginx插件配置

    #进入nginx插件解压后的目录编辑配置文件修改nginx插件的fdfs配置路径为正确路径
    vim src/config
    
    #去掉路径中的local,因为实际安装fastdfs时、是放到了/usr/include下
    将 CORE_INCS="$CORE_INCS /usr/local/include/fastdfs /usr/local/include/fastcommon/"
    修改为CORE_INCS="$CORE_INCS /usr/include/fastdfs /usr/include/fastcommon/"
    
    将 CORE_LIBS="$CORE_LIBS -L/usr/local/lib -lfastcommon -lfdfsclient"
    修改为 CORE_LIBS="$CORE_LIBS -L/usr/lib -lfastcommon -lfdfsclient"
    

    nginx安装

    
    #进入解压的nginx目录下配置nginx安装后文件路径(最后的 --add-module参数后填fastdfs-nginx-module插件目录中的src目录的绝对路径,表示将插件安装到nginx)
    #--sbin-path指定sbin目录路径,默认是/usr/local/nginx/sbin/nginx,用于启动服务
    #--conf-path指定nginx.conf路径,默认是/usr/local/nginx/conf/nginx.conf,用于修改nginxWeb规则
    sudo ./configure  --prefix=/usr/local/nginx --sbin-path=/usr/local/bin/nginx --conf-path=/usr/local/etc/nginx/nginx.conf --pid-path=/usr/local/var/run/nginx.pid --lock-path=/usr/local/var/run/nginx.lock --error-log-path=/usr/local/var/log/nginx/^Cror.log --http-log-path=/usr/local/var/log/nginx/access.log --with-http_gzip_static_module --with-http_stub_status_module --with-http_ssl_module --with-file-aio --add-module=/opt/fastdfs-nginx-module/src
    
    #编译
    make
    
    #安装
    make install
    

    整合nginx和fastdfs插件

    #copy fastdfs-nginx-module(nginx插件)的配置文件到 /etc/fdfs下
    cp /opt/fastdfs-nginx-module/src/mod_fastdfs.conf /etc/fdfs/mod_fastdfs.conf
    
    #编辑mod_fdfs.conf
    vim /etc/fdfs/mod_fastdfs.conf
    
    #编辑内容如下,连接超时时间,tracker服务器地址和端口,存储服务器基本目录路径
    connect_timeout=10
    base_path=/var/chenchong/fdfs
    tracker_server=192.168.254.139:22122
    url_have_group_name = true
    store_path0=/var/chenchong/fdfs/storage
    
    #复制之前解压的fastdfs安装目录下的http.conf和mime.types文件到/etc/fdfs目录下
    cp mime.types http.conf /etc/fdfs/
    

    配置nginx的web服务
    根据安装nginx时所指定的路径编辑nginxWeb服务器配置文件
    vim /usr/local/etc/nginx/nginx.conf

    在http部分中添加配置信息如下:
    server {
    listen 8888;
    server_name localhost;
    location ~/group[0-9]/ {
    ngx_fastdfs_module;
    }
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    root html;
    }
    }

    启动nginx服务
    按照之前配置的路径启动nginx服务
    /usr/local/bin/nginx

    相关命令:
    // 重启
    /usr/local/bin/nginx -s reload
    // 停止
    /usr/local/bin/nginx -s stop
    浏览器中输入127.0.0.1:8888/group1/M00/00/00/wKj-iV6ESVqAeBq7AAAAAAAAAAA524.txt即可访问之前上传到storage服务器的文件

    FastDFS与Python交互

    下载用于交互的第三方库
    链接: https://pan.baidu.com/s/1pYO7kuoDDarYhgC1DFvcHw
    提取码: gb9y

    pip install fdfs_client-py-master.zip
    pip install mutagen
    pip install requests
    

    使用
    from fdfs_client.client import Fdfs_client
    client = Fdfs_client(’/etc/fdfs/client.conf’)
    ret = client.upload_by_filename(‘test’)

    返回值ret变量是一个字典(根据返回值判断上传状态):
    {‘Group name’:‘group1’,‘Status’:‘Upload successed.’, ‘Remote file_id’:‘group1/M00/00/00/
    wKjzh0_xaR63RExnAAAaDqbNk5E1398.py’,‘Uploaded size’:‘6.0KB’,‘Local file name’:‘test’
    , ‘Storage IP’:‘192.168.254.139’}

    重写Django项目文件传输行为

    相关中文文档:https://yiyibooks.cn/xx/django_182/howto/custom-file-storage.html
    django的 文件存储路径一般是static/media,默认的文件存储FileSystemStorage类基于Storage类实现,主要是将文件保存到设置文件中指定的MEDIA_ROOT路径下,我们可以自定义FDFSStorage存储类连接远程存储服务器,并且将其设置为默认的文件存储类
    示例:DEFAULT_FILE_STORAGE=‘utils.fdfs.storage.FDFSStorage’
    在这里插入图片描述

    根据所示目录结构创建目录及文件存放文件存储类
    在这里插入图片描述

    settings.py文件配置

    # 设置Django的默认文件存储类为我们自定义的文件存储类
    DEFAULT_FILE_STORAGE = 'utils.fdfs.storage.FDFSStorage'
    
    # 设置fdfs使用的client.conf文件路径
    FDFS_CLIENT_CONF = './utils/fdfs/client.conf'
    
    # 设置fdfs存储服务器上nginx的IP和端口号
    FDFS_URL = 'http://192.168.20.100:8888/'
    

    重写Storage类

    from django.core.files.storage import Storage
    from django.conf import settings
    from fdfs_client.client import Fdfs_client
    
    class FDFSStorage(Storage):
        '''fast dfs文件存储类'''
        def __init__(self, client_conf=None, base_url=None):
            '''初始化,调用时可指定客客户端配置文件和nginx反向代理地址'''
            if client_conf is None:
                client_conf = settings.FDFS_CLIENT_CONF
            self.client_conf = client_conf
    
            if base_url is None:
                base_url = settings.FDFS_URL
            self.base_url = base_url
    
        def _open(self, name, mode='rb'):
            '''打开文件时使用'''
            pass
    
        def _save(self, name, content):
            '''保存文件时使用'''
            # name:你选择上传文件的名字
            # content:包含你上传文件内容的File对象
    
            # 创建一个Fdfs_client对象
            client = Fdfs_client(self.client_conf)
    
            # 上传文件到fast dfs系统中
            res = client.upload_by_buffer(content.read())
    
            # 返回的dict示例
            # {
            #     'Group name': group_name,
            #     'Remote file_id': remote_file_id,
            #     'Status': 'Upload successed.',
            #     'Local file name': '',
            #     'Uploaded size': upload_size,
            #     'Storage IP': storage_ip
            # }
            if res.get('Status') != 'Upload successed.':
                # 上传失败
                raise Exception('上传文件到fast dfs失败')
    
            # 获取返回的文件ID
            filename = res.get('Remote file_id')
    
            return filename
    
        def exists(self, name):
            '''Django判断文件名是否可用'''
            return False
    
        def url(self, name):
            '''返回访问文件的url路径'''
            # 返回值示例:192.168.20.100:8888/group1/M00/00/00/wKjzh0_xaR63RExnCCCaDqbNk5E1398.png
            return self.base_url+name
    

    Django访问远程存储服务器资源
    在这里插入图片描述

    展开全文
  • 那么,异地大文件传输如何更好的得到实现?有没有好的方法解决大文件远程传输问题呢? 一般我们认为大文件远程传输的关键点在于看双方的上网方式。如果双方都是用同一个ISP的话,可以考虑用QQ传送。举个例子,...

    大文件传输

    大文件远程传输时,一般很多人会选择使用U盘或者移动硬盘在两地进行传递。但万一忘记带移动存储设备了呢?如果选择邮箱、QQ等又需要经历漫长的等待时间,还有可能遇到附件过大小限制、传输中断等问题。

    那么,异地大文件传输如何更好的得到实现?有没有好的方法解决大文件远程传输问题呢?

    一般我们认为大文件远程传输的关键点在于看双方的上网方式。如果双方都是用同一个ISP的话,可以考虑用QQ传送。举个例子,如果双方都是电信的2M的ADSL的话,那么上传一方的最大速度是每秒50kb,也就是说,一方的接收速度只能是每秒50kb,一个小时180MB。

    如果都是同一个ISP的LAN方式上网的话,最大速度可以达到4,5百KB每秒甚至跟高,那一个小时就可以搞定。

    如果不是同一个ISP的话建议就不要试了,那个速度慢的让人难受。或者让一方你刻盘快递寄给你,或者买个2G的U盘,把文件copy过去再快递给对方。

    以上的几种方法,或许是最笨拙最不便捷的方法。如今网盘的流行很便捷的解决了异地大文件传输的难题。

    镭速(Raysync)传输引擎和传统网络资源,为客户提供高速、稳定、安全网络优化服务,大幅节省企业网络资源投入,提高效率,改善网络便捷使用。  

    使用镭速的文件分享功能,您可以不受距离、时间、文件大小甚至网络速度的限制,随时随地的把文件传达到需要的人面前,而所有这些功能的实现,只需要您一次性把文件上传到平台,而其后即便多次修改,版本将自动覆盖,无需再次上传。

    对于外地客户较多以及设立外地分公司或办事处的企业,异地大文件传输的需求频繁,在镭速平台上,您既可以同本公司同事便捷的共享文件,也可以分享链接给外部客户,尽情享受简单工作的便利。

    展开全文
  • 文件传输协议介绍

    千次阅读 2019-06-11 16:23:30
    文件传输协议介绍 文件传输协议是一种极为普遍的档案分享服务,让你可以将你的档案从储存装置传送到ASUSTOR NAS。ASUSTOR NAS 所支援的文件传输协议可分为: CIFS (网络文件共享系统) 通常是指 SMB,SAMBA 或 ...
  • Python完成文件传输

    千次阅读 2019-01-28 18:03:27
    TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。 二、tftp服务器、客户端传输...
  • sftp文件传输

    千次阅读 2016-11-28 19:59:26
    1. 先到配置表mgw_communication 查看文件获取方式是Local、ftp、sftp的 ...     linux sftp 安全文件传输命令 sftp 是一个交互式文件传输程式。它类似于 ftp, 但它进行加密传输,比FTP有更高的安全性。
  • 内网文件传输

    千次阅读 2018-11-27 21:55:14
    文件传输方法: windows FTP(ftp -s:1.txt【-s将后面跟的1.txt内容全部当做命令行执行】)(FTP传文件比较万能,任意类型文件都可上传) 实践: 现有公网IP: 101.198.183.60,内网IP: 192.168.0.84的开发...
  • 文件传输协议FTP

    千次阅读 2018-09-13 16:10:23
    文件传输协议FTP(File Transfer Protocol)是因特网中使用最广泛的文件传输协议。FTP使用交互式的访问,允许客户指定文件的类型和格式(如指明是否使用ASCII码),并允许文件具有存取权限(如访问文件的用户必须经过授权...
  • QTCpSocket文件传输

    千次阅读 2017-06-06 13:09:51
    但是由于TCP粘包,所以在使用TCP进行文件传输时,需要进行粘包问题的考虑。关于TCP/UDP用于聊天程序的应用可以参考:QTcpServer、QTcpSocket、QUdpSocket在聊天程序上的应用 。QTcpSocket、QTcpServer、QFi
  • HTTP文件传输

    千次阅读 2015-08-28 22:15:51
    1.确定大小的文件传输  消息头部的Content-Length字段表示文件的长度,用于接收端确定文件的结束。 2.Chunked编码  当文件大小无法事先确定时,无法设置Content-Length字段。此时可以用分块传输的方
  • 临时文件传输工具推荐

    千次阅读 2020-02-15 12:23:42
    下面介绍两个用过的不错的临时文件传输工具。 二、介绍 2.1 牛奶快穿 https://cowtransfer.com/ 优点:界面非常简洁,可以不用登陆即可添加文件获取取件码。 缺点:免费用户限制较多。 ...
  • ftp上传文件 严重文件传输错误

    千次阅读 2019-03-19 22:53:22
    ftp上传文件出现553 Could not creat files 严重文件传输错误 在linux下执行 chmod -R 777 /xxx 即可 使对应文件夹设置为有所有权限
  • 文件传输 , 快速传输工具 分享

    万次阅读 2018-05-16 15:32:54
    文件传输速度达不到理想水平,影响企业效率?其实可以选择传统FTP的方式来应对,But,传统FTP传输方式在传输大文件时,除了速度慢,常遇到传输内容错误、传输中断、重新续传等情况。因为传统FTP传输方式尽管支持...
  • Socket实现文件传输

    万次阅读 2018-07-25 17:46:03
    Socket实现文件传输 1.客户端 通过new Socket("ip",port)连接服务端 创建文件输入流读取文件 创建返回套接字的输出流 写入文章名称,长度等属性 读取、写入文章操作 关闭流 package com.company;...
  • 文件传输工具Cuteftp的使用方法Cuteftp是一款FTP客户端软件,只要在linux上安装、启动了FTP服务,就可以使用Cuteftp在Windows 与 Linux之间进行文件传输。 一、 在linux上安装FTP服务器。1. 概念FTP FTP是File ...
  • ActiveMQ 文件传输

    千次阅读 2015-04-02 14:55:12
    官方文档:http://activemq.apache.org/message-features.html 文档中引用其他网页内容! ...小文件传输(文件转换为byte[],然后安装正常消息传送) 小文件简单方便 传输大文件效率低下
  • 文件传输程序设计

    千次阅读 2018-01-03 11:08:36
    一个简单的文件传输程序文件是一种数据存储的形式,因此文件的传输实质上就是数据的传输。在这个程序中主要步骤为 1.发送方(这里暂定为服务端)首先打开文件将文件数据读入应用程序的发送缓冲区,然后调用send()函数...
  • 自制微信文件传输助手,实现数据安全传输与存储

    千次阅读 多人点赞 2020-10-24 16:12:59
    文章以目的为导向重写fiora开源项目,自制文件传输助手,从而实现数据的安全传输与存储。
  • Linux与windows文件传输

    千次阅读 2018-12-03 10:28:55
    在我们使用服务器进行开发或日常使用时,常常需要在两个系统之间进行文件的传输,Linux文件传输到Windows(MAC),Windows文件传输到Linux。 如何实现本地机器与服务器之间的文件传输呢?接下来将介绍如何实现。 ...
  • java文件传输接口

    千次阅读 2019-06-17 14:35:04
    跨系统的文件传输(上传)接口 在系统开发中经常遇见在不同的系统(如安卓和web端)的文件上传,有两种方法。 第一种:如果图片比较小可以采用post方式将图片转成base64的码放在data域中,以字符串传参的方式发送到...
  • camel ftp 文件传输

    千次阅读 2018-01-28 19:38:28
    导入pom文件 org.apache.camel camel-ftp ${camel.version} 从服务器A将文件传输到服务器B
  • FTP文件传输服务器原理

    千次阅读 2019-07-25 15:23:20
    FTP,文件传输协议(File Transfer Protocol)是用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式。FTP是专门用来传输文件的协议。 FTP是一个客户机/服务器系统,用户通过使用一个支持FTP协议的客户端...
  • 使用Netty进行文件传输

    万次阅读 2019-01-16 17:09:13
    使用Netty进行文件传输主要涉及到FileChannel文件通道,它用来连接文件,可以通过这个通道读写文件。在使用FileChannel之前必须先打开它,FileChannel无法直接打开,可以通过InputStream、OutputStream或...
  • Qt实现TCP文件传输例子

    万次阅读 多人点赞 2017-06-24 17:22:01
    Qt实现TCP文件传输例子
  • 很多时候,我们需要把文件传输到服务器上进行运行、部署等操作,在使用windows服务器的时候,我们都会遇到这样的问题:我们应该怎么上传文件到服务器?有没有简单的方法来实现本地文件上传到服务器呢? 很多时候,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 89,588
精华内容 35,835
关键字:

文件传输