mirror of
https://github.com/rclone/rclone
synced 2024-12-22 13:03:02 +01:00
ftp: make upload error 250 indicate success
Some servers seem to send return code 250 to indicate successful upload - previously rclone was treating this as an error. See: https://forum.rclone.org/t/transfer-on-mega-in-ftp-mode-is-not-working/24642/
This commit is contained in:
parent
e635f4c0be
commit
76ea716abf
@ -1050,6 +1050,16 @@ func (o *Object) Update(ctx context.Context, in io.Reader, src fs.ObjectInfo, op
|
|||||||
return errors.Wrap(err, "Update")
|
return errors.Wrap(err, "Update")
|
||||||
}
|
}
|
||||||
err = c.Stor(o.fs.opt.Enc.FromStandardPath(path), in)
|
err = c.Stor(o.fs.opt.Enc.FromStandardPath(path), in)
|
||||||
|
// Ignore error 250 here - send by some servers
|
||||||
|
if err != nil {
|
||||||
|
switch errX := err.(type) {
|
||||||
|
case *textproto.Error:
|
||||||
|
switch errX.Code {
|
||||||
|
case ftp.StatusRequestedFileActionOK:
|
||||||
|
err = nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
_ = c.Quit() // toss this connection to avoid sync errors
|
_ = c.Quit() // toss this connection to avoid sync errors
|
||||||
remove()
|
remove()
|
||||||
|
Loading…
Reference in New Issue
Block a user