【问题标题】:550 error on retrieving filesize while uploading file上传文件时检索文件大小时出现 550 错误
【发布时间】:2014-04-08 13:16:35
【问题描述】:

我正在上传文件时尝试获取文件大小。我的最终目标是尝试获得上传速度,但在我的while循环中,我得到一个异常调用“OpenRead”,参数为“1”:“远程服务器返回错误:(550)文件不可用(例如,未找到文件,无法访问)。

请看下面的代码

$uploadRemoteFile = "Remote URI"
$ftpuname = "UserName"
$ftppassword = 'Password'

function upload-ftp{
    $File = "$env:TEMP\something.exe"
    $webclient = New-Object System.Net.WebClient
    $webclient.Credentials = New-Object System.Net.NetworkCredential($ftpuname,$ftppassword); 
    $uri = New-Object System.Uri($uploadRemoteFile)
    $webclient.UploadFileAsync($Uri, $File)
    $arrayftp = @()
    Function Get-newfilesize{
        $webclientRead = New-Object System.Net.WebClient;
        $webclientRead.Credentials = New-Object System.Net.NetworkCredential($ftpuname,$ftppassword); 
        [void]$webclientRead.OpenRead($uri);
        [Int64]$bytes_total= ($webclientRead.ResponseHeaders["Content-Length"])
        $webclientsize = ($bytes_total.ToString());
        $webclientsize
    }
    while ($webclient.IsBusy){
        $oldftpfile = Get-newfilesize;

        $oldftpdate = Get-Date;

        Start-Sleep -Milliseconds 1

        $newftpfile = Get-newfilesize;
        $newftpdate = Get-Date;

        $ftpsizediff = $newftpfile - $oldftpfile;
        $ftptimediff = $newftpdate - $oldftpdate;

        $totalftpdiff = $ftpsizediff / $ftptimediff.totalseconds;
        $totalftpdiff  | foreach {
            if ($_ -gt 0){$arrayftp += $_ }
        }
    }
    $testftpcap= New-Object psobject -Property @{"Upload Speed" =((($arrayftp | measure -Average).Average/1MB)* 10)}
    $testftpcap | Export-csv -NoTypeInformation -Path $env:TEMP\ftpspeed.csv
}

谢谢

【问题讨论】:

    标签: powershell ftp webclient


    【解决方案1】:

    不完全是您问题的直接答案,但您可以使用 Powershell FTP 模块 - 效果很好并且也有一个进度条.. (http://gallery.technet.microsoft.com/scriptcenter/PowerShell-FTP-Client-db6fe0cb)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-17
      • 2016-04-14
      • 2016-05-17
      • 2016-01-28
      • 1970-01-01
      • 2019-04-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多