diff --git a/ShareX.UploadersLib/FileUploaders/SFTP.cs b/ShareX.UploadersLib/FileUploaders/SFTP.cs index 91d5cad55..37a56e0bf 100644 --- a/ShareX.UploadersLib/FileUploaders/SFTP.cs +++ b/ShareX.UploadersLib/FileUploaders/SFTP.cs @@ -232,6 +232,8 @@ private bool UploadStream(Stream stream, string remotePath) } catch (SftpPathNotFoundException) { + // Happens when directory not exist, create directory and retry uploading + CreateDirectory(URLHelpers.GetDirectoryPath(remotePath)); using (SftpFileStream sftpStream = client.OpenWrite(remotePath)) @@ -239,6 +241,10 @@ private bool UploadStream(Stream stream, string remotePath) return TransferData(stream, sftpStream); } } + catch (NullReferenceException) + { + // Happens when disconnected while uploading + } } return false;