使用 Windows 服务自动将文件上传到 Google Drive File Stream

我做了一个 Windows 服务;


每小时通过 WebClient 从定期更新的内部数据库下载 CSV 文件。


将该 CSV 文件放入指定的文件夹中。


在原始测试用例中,它被放入我桌面 (C:) 上的本地文件夹中。

测试用例完美运行。

CSV 将用新下载的同名文件替换旧文件。


如上所列。这在本地文件夹上非常有效。但是,我们打算让它通过 Google Drive File Stream 工作。因为我们有一个 Google 表格,它可以为我们处理和查找给定名称下的任何 CSV 文件的数据。


这是当前下载和放置文件的方法。


public void CSVDownload()

    {

        string url = @"YOUR_CSV_URL_HERE";

        WebClient client = new WebClient();

        client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);


        client.DownloadFileAsync(new Uri(url), @"YOUR_GOOGLE_DRIVE_FILE_STREAM_FOLDER_HERE\NAME.csv"); 


        void client_DownloadFileCompleted(object CSVDownload, AsyncCompletedEventArgs e)

        {

            eventLog1.WriteEntry("CSV File (NAME.csv) downloaded"); 

        }

    }

我的问题是为什么我目前无法通过 Windows 服务自动将文件上传到 Google Drive File Stream?是因为 Google Drive File Stream 需要某些权限或操作吗?是因为驱动器是“虚拟的”而不是物理的 (H:)?下面是我尝试上传到 Google Drive File Stream (H:\My Drive\Test) 中的文件夹。


临摹微笑
浏览 240回答 1
1回答

元芳怎么了

您将 tempSectors 分配给其他两个变量,orderedByCTM 和orderedByCTW。所以它实际上是同一个列表。你以一种方式排序,然后另一种方式。然后你反转它,然后再反转它。相反,也许制作一个副本。orderedByCTW = tempSectors.ToList();orderedByCTM = tempSectors.ToList();现在您已经获得了相同原始列表的副本,而不仅仅是原始列表。
打开App,查看更多内容
随时随地看视频慕课网APP