【发布时间】:2023-11-22 18:01:01
【问题描述】:
我正在开发一个 Windows 商店应用程序,并且我正在使用 WebRequest 将文件上传到 FTP 服务器,因为这是我能找到的唯一解决方法,但我有一些限制。
当应用程序上传视频时(这需要几分钟),如果用户点击屏幕,应用程序就会崩溃。如果没有输入,它会正常工作。
当我使用 Alex Pilotti 的 FTPS 客户端 DLL 时,没有发生这种情况,但我无法使用此 DLL 获得 Windows 商店的认证。
在我的电脑中,这不会发生。它会等到视频上传完毕,然后执行用户输入,但在平板电脑中情况就不同了,可能是因为它的处理能力/内存较少,它只会崩溃。
我在想:也许有一种方法可以在上传时忽略所有用户输入。
我知道这不是最好的方法,像这样从用户那里获得控制权,但它会完成这项工作,而且只会持续几分钟。
我一直在谷歌搜索,但我找不到这样做的方法。
我会在下面留下我的代码,以防万一:
Public Async Function uploadFile(filename As String, file As StorageFile) As Task(Of Boolean)
Try
Dim ftpURL As String = "ftp://111.22.33.444"
Dim request As WebRequest = WebRequest.Create(ftpURL + "/" + filename)
request.Credentials = New NetworkCredential("user", "pass")
request.Method = "STOR"
Dim buffer As Byte() = Await ReadFileToBinary(filename, file)
Dim requestStream As Stream = Await request.GetRequestStreamAsync()
Await requestStream.WriteAsync(buffer, 0, buffer.Length)
Await requestStream.FlushAsync()
Return True
Catch ex As Exception
Return False
End Try
End Function
【问题讨论】:
标签: vb.net input upload windows-store-apps webrequest