具体特点

1.提升又拍云海外版的上传速度、相对于官方程序的平均1M/S。速度可跑满上行。
2.文件到达有延时、文件越大延时越大,最长可能到6小时左右。
3.已经打包成rcloneForUpy,可自行下载

下载链接

该部分仅登录用户可见

具体改的地方,有两处

第一:项目目录rclonevendorgithub.comjlaffayeftp.go文件

func (c *ServerConn) StorFrom(path string, r io.Reader, offset uint64) error {
    ...
    ...
    if err != nil {
        return err
    }
    //将本函数注释掉,使程序不再接受回复
    time.Sleep(10* time.Second)//延时1s
    //_, _, err = c.conn.ReadResponse(StatusClosingDataConnection)
    return err
}

第二:项目目录rclonebackendftp.go文件

func (o *Object) Update(ctx context.Context, in io.Reader, src fs.ObjectInfo, options ...fs.OpenOption) (err error) {
    ...
    ...
    o.fs.putFtpConnection(&c, nil)
    
    //添加以下内容
    o.info = &FileInfo{
        Name:    src.Fs().Name(),        //获取本地文件的大小
        Size:    uint64(src.Size()),    //获取本地文件的时间
        ModTime: time.Now(),            //获取当前时间
        IsDir:   false,                    //默认不是文件夹
    }
    //o.info, err = o.fs.getInfo(path)    //注释本行
    
    
    if err != nil {
        fmt.Println("out Update by errors.Wrap")
        return errors.Wrap(err, "update getinfo")
    }
    ...
    ...
}

<wangtaijie@midd.top>

版权所有yoola's Blog

本文链接:https://www.yoola.top/pub/id=5

转载请注明来源

Last modification:March 17th, 2020 at 12:08 pm