【问题标题】:How do I upload a file to an Acumatica Screen through HTTP virtual path?如何通过 HTTP 虚拟路径将文件上传到 Acumatica 屏幕?
【发布时间】:2014-08-18 06:08:45
【问题描述】:

如何通过 HTTP 虚拟路径将文件上传到 Acumatica 屏幕? 例如,我想将 mysite.com/files/abc.pdf 上传到销售订单屏幕。

【问题讨论】:

    标签: asp.net file-upload acumatica erp acumatica-kb


    【解决方案1】:

    下面是实现目标的代码 sn-p。它从 HTTP URL 读取文件并将其附加到现有案例之一。

          //Graph for file management
          PX.SM.UploadFileMaintenance filegraph = PXGraph.CreateInstance<PX.SM.UploadFileMaintenance>();
          //Since you need file from HTTP URL - below is a sample
          WebRequest request = WebRequest.Create("http://www.pdf995.com/samples/pdf.pdf");
          using (System.IO.Stream dataStream = request.GetResponse().GetResponseStream())
          {
              using (System.IO.MemoryStream mStream = new System.IO.MemoryStream())
              {
                  dataStream.CopyTo(mStream);
                  byte[] data = mStream.ToArray();                 
    
                  //Create file info, you may check different overloads as per your need
                  PX.SM.FileInfo fileinfo = new PX.SM.FileInfo("case.pdf", null, data);
    
                  if (filegraph.SaveFile(fileinfo))
                  {
                      if (fileinfo.UID.HasValue)
                      {
                          // To attach the file to case screen - example
                          CRCaseMaint graphCase = PXGraph.CreateInstance<CRCaseMaint>();
    
                          //Locate existing case
                          graphCase.Case.Current = graphCase.Case.Search<CRCase.caseCD>("<Case to which you want to attach file>");
    
                          //To Attach file
                          PXNoteAttribute.SetFileNotes(graphCase.Case.Cache, graphCase.Case.Current, fileinfo.UID.Value);
    
                          //To Attach note
                          PXNoteAttribute.SetNote(graphCase.Case.Cache, graphCase.Case.Current, "<Note you wish to specify>");
    
                          //Save case
                          graphCase.Save.Press();
                      }
                  }
              }
          }
    

    【讨论】:

    • 看来 PX.SM.FileInfo 文件名在所有文件中必须是唯一的。在此示例中,“case.pdf”不能作为文件名存在,否则保存文件将失败。 (截至 17.200.0223)否则我能够让这个示例适用于不同的图表。不错的帖子 DChhapgar
    猜你喜欢
    • 2022-01-20
    • 1970-01-01
    • 2016-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多