从Java应用程序转移到.Net应用程序时无法打开文件

时间:2019-06-25 10:11:59

标签: java .net rest

我们有两个应用程序,一个是Java客户端,另一个是.Net托管其余Web服务。

Java应用程序需要从一台服务器读取文件,并将字节[](字节数组)格式的内容传递给.Net Web服务请求。 .Net服务需要接受此请求,并使用byte [](字节数组)在另一台服务器中写入新文件。代码如下:

Java客户端代码:

private byte[] getBytesFromFiles(String path){

    try{
      logger.info("Accessing the document====> "+path);


    File file = new File(path);
      InputStream inputStream = new FileInputStream(file);
      byte[] bytes = new byte[(int) file.length()];
      inputStream.read(bytes);
      logger.info("Byte array converted to String");
    return bytes;
    }catch(Exception e){
        logger.info("Error at reading the document====> "+e);
        //throw new RuntimeException(e);
    }
    return null;
}

我们在调用.Net api时传递了这些字节。

.Net api代码:

   public string  UploadToDBMultiClaims(string strDept, string strPolicyNo1, string strPolicyNo2, List<string> lstClaimNo, string strDocumentName,
                                string strFileDate, string strRemark, string strCurrentUser, byte[] btBinaryBuffer){
        string strDocID = "xyz.pdf"
        string path = ConfigurationManager.AppSettings["FilePath"].ToString() + DateTime.Today.ToString("yyyyMMdd") + @"\";
       string fileName = path + strDocID + ".pdf";
        System.IO.File.WriteAllBytes(fileName, btBinaryBuffer);

        return "1"

    }
But it gives HTTP Status 400 error.

当我们尝试转换为String并发送和接收它并尝试打开pdf文件时。它给出了错误

Adobe could not xyz.pdf because its either not a supported file format or the file is damaged.

当从另一个.Net应用程序调用并传递byte [](字节数组)时,此.Net api工作正常。

请说明如何解决此问题,以便正确发送pdf文件并以.Net代码编写。

0 个答案:

没有答案