通过Web服务访问文件并使用FileStream c#打开它

时间:2015-08-05 20:01:49

标签: c# model-view-controller filestream

我有一份连接到合同号的文件清单,这些文件在网页服务的帮助下显示在应用程序中。

显示的文件有一个href,可以根据文件的类型打开文件。(例如.txt || .xlsx || .pdf)

这是我试图这样做的方式。但它不起作用

 public FileStreamResult _EDMSDocument(long DocNbr)
    {
        eDOCSWS.edmsWSAppSoapClient service = new eDOCSWS.edmsWSAppSoapClient();
        eDOCSWS.edmsDocument doc = new eDOCSWS.edmsDocument();
        eDOCSWS.edmsFolder fldr = new eDOCSWS.edmsFolder();
        string strToken = "";
        string lib = System.Configuration.ConfigurationManager.AppSettings["edocsLibrary"];
        eDOCSWS.edmsResponse login = default(eDOCSWS.edmsResponse);
        login = service.loginAsUser(lib, 8, "xxxxx", "yyyyyy", "", "1.0.0", ref strToken);
        doc = service.getDocumentByIdentifier(strToken, lib, DocNbr,"");

        long vid;
        vid = doc.propVersions[doc.propIdxHighestVersion].propVersionID;
        long lngBlockCounter = 0;
        byte[] strbuffer;
        MemoryStream ms = new MemoryStream();
        do
        {
            strbuffer = service.getFileBlock(strToken, lib, DocNbr, vid, 16384, lngBlockCounter);

            ms.Write(strbuffer, 0, strbuffer.Length);

        } while (strbuffer.Length == 0);

        return new FileStreamResult(ms, doc.propVersions[0].propMIMEType);

        //System.Diagnostics.Process process = new System.Diagnostics.Process();
        //process.StartInfo.UseShellExecute = true;
        //process.StartInfo.FileName = DefaultLogFilePath;
        //process.Start();
        //System.IO.File.Delete(DefaultLogFilePath);
        //return PartialView();
    }

UI上显示一个文档编号,其中有一个href来调用此函数。 没有抛出任何错误,但文件也没有打开。

由于

0 个答案:

没有答案