Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用DirectoryInfo在c#中从服务器读取word文件_C# - Fatal编程技术网

如何使用DirectoryInfo在c#中从服务器读取word文件

如何使用DirectoryInfo在c#中从服务器读取word文件,c#,C#,如何在C#中从服务器获取Word文件?我使用以下代码: static void Main(string[] args) { Word._Application application = new Word.Application(); object fileformat = Word.WdSaveFormat.wdFormatXMLDocument; // DirectoryInfo directory = new Di

如何在C#中从服务器获取Word文件?我使用以下代码:

   static void Main(string[] args)
    {
        Word._Application application = new Word.Application();
        object fileformat = Word.WdSaveFormat.wdFormatXMLDocument;
     //  
        DirectoryInfo directory = new DirectoryInfo(@"http://www.sample.com/image/");
        foreach (FileInfo file in directory.GetFiles("*.doc", SearchOption.AllDirectories))
        {
            if (file.Extension.ToLower() == ".doc")
            {
                object filename = file.FullName;
                object newfilename = file.FullName.ToLower().Replace(".doc", ".docx");
                Word._Document document = application.Documents.Open(filename);

                document.Convert();
                document.SaveAs(newfilename, fileformat);
                document.Close();
                document = null;
            } 
        }
        application.Quit();
        application = null;
    }
但当我使用此代码从本地计算机或桌面获取文件时,它就可以正常工作了


请告诉我。

您不能将
DirectoryInfo
与URL一起使用

根据设计,此类在其构造函数中仅采用本地(或映射网络)路径

您需要使用
System.Net.HttpWebRequest
类从URL获取文件,因为它位于internet上的服务器上,检索文件的唯一方法是通过
HTTP
下载

编辑:

根据您的评论,您希望在您有权访问的服务器上处理100万个文件有很多方法可以解决这个问题。

您可以使用服务器的网络路径,例如

var di = new DirectoryInfo("\\servername\path\filename.doc")
您可以使用本地路径,将应用程序创建为C#控制台应用程序,并使用本地路径。这就是我所说的实用程序。这将是更快的方法,因为它将在本地处理所有内容,并避免网络流量

var di = new DirectoryInfo("c:\your-folder\your-doc-file.doc")

由于您将直接在服务器上运行C#console应用程序,因此上述操作将有效。

您不能将
DirectoryInfo
与URL一起使用

根据设计,此类在其构造函数中仅采用本地(或映射网络)路径

您需要使用
System.Net.HttpWebRequest
类从URL获取文件,因为它位于internet上的服务器上,检索文件的唯一方法是通过
HTTP
下载

编辑:

根据您的评论,您希望在您有权访问的服务器上处理100万个文件有很多方法可以解决这个问题。

您可以使用服务器的网络路径,例如

var di = new DirectoryInfo("\\servername\path\filename.doc")
您可以使用本地路径,将应用程序创建为C#控制台应用程序,并使用本地路径。这就是我所说的实用程序。这将是更快的方法,因为它将在本地处理所有内容,并避免网络流量

var di = new DirectoryInfo("c:\your-folder\your-doc-file.doc")

由于您将直接在服务器上运行C#console应用程序,因此上述操作将有效。

DirectoryInfo用于访问本地文件或UNC路径。您不能使用它访问http地址页。您首先需要下载该文件,即使用HttpWebRequest

DirectoryInfo用于访问本地文件或UNC路径。您不能使用它访问http地址页。您首先需要下载该文件,即使用HttpWebRequest

DirectoryInfo只是一个对象,其中包含有关文件系统中目录项的信息。它不会下载文件,我想这是你想做的


我认为,处的代码示例与您想要的类似。

DirectoryInfo只是一个包含文件系统中目录项信息的对象。它不下载文件,我想这是你想要做的



我认为,上的代码示例与您想要的类似。

如何使用system.net.httpwebrequest有什么想法吗?我无法下载,因为我有一百万个文件要转换为pdf,请告诉我。一百万个文件?从一个遥远的网址?这是你在同一网络上控制的服务器上的URL吗?我想把服务器上的文件转换成pdf…我有一百万个word文件。所以请告诉我如何获取文件这是一个完整的项目伙计。你没有回答我的问题——这台服务器在哪里——是你的(还是你的公司)?你有直接访问服务器的权限吗?如何使用system.net.httpwebrequest有什么想法吗?我不能下载,因为我有一百万个文件要转换成pdf,所以请告诉我。一百万个文件?从一个遥远的网址?这是你在同一网络上控制的服务器上的URL吗?我想把服务器上的文件转换成pdf…我有一百万个word文件。所以请告诉我如何获取文件这是一个完整的项目伙计。你没有回答我的问题——这台服务器在哪里——是你的(还是你的公司)?你可以直接访问服务器吗?我想把服务器上的文件转换成pdf…我有一百万个word文件。所以,请告诉我如何获取文件我想从服务器获取文件转换成pdf…我有100万word文件。所以请告诉我如何获取文件1。您需要知道包含.doc文件的文件夹的路径。2.您需要将该路径放入新的DirectoryInfo([path])第3行。然后需要编译该实用程序并将其部署到服务器。4.开发机器上应该有一个文件夹,其中包含测试/开发阶段5的一些文档文件。由于您已经让它与本地计算机一起工作,这是完全相同的事情,您将直接在服务器上运行该程序。bt dnt不知道第3步和第4步,请告诉meCan您再次编辑问题,并将包含您的文件的路径放在问题的末尾?i、 例如,这是我的路径:……编译和部署仅仅意味着在.net中构建项目(CTRL+B)——这是一个控制台应用程序吗?然后将其从BIN文件夹复制到服务器…1。您需要知道包含.doc文件的文件夹的路径。2.您需要将该路径放入新的DirectoryInfo([path])第3行。然后需要编译该实用程序并将其部署到服务器。4.开发机器上应该有一个文件夹,其中包含测试/开发阶段5的一些文档文件。由于您已经让它与本地计算机一起工作,这是完全相同的事情,您将直接在服务器上运行该程序。bt dnt不知道第3步和第4步,请告诉meCan您再次编辑问题,并将包含您的文件的路径放在问题的末尾?i、 例如,这是我的路径:……编译和部署仅仅意味着在.net中构建项目(CTRL+B)——这是一个控制台应用程序吗?然后将它从你的BIN文件夹复制到服务器上。。。