Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.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
C# 使用C将PDF读入NetSuite的问题#_C#_Netsuite - Fatal编程技术网

C# 使用C将PDF读入NetSuite的问题#

C# 使用C将PDF读入NetSuite的问题#,c#,netsuite,C#,Netsuite,在我的RESTlet中,我在日志中看到一个错误:Code:意外错误null Code:UNEXPECTED\u error: var pdf = data.pdfdoc; nlapiLogExecution('DEBUG', 'in data', pdf); 我认为传入的数据没有正确读取。有什么不寻常的吗 var pdf = data.pdfdoc; nlapiLogExecution('DEBUG', 'in data', pdf); static void Main(string[

在我的RESTlet中,我在日志中看到一个错误:Code:意外错误null Code:UNEXPECTED\u error

var pdf = data.pdfdoc;
nlapiLogExecution('DEBUG', 'in data', pdf);
我认为传入的数据没有正确读取。有什么不寻常的吗

var pdf = data.pdfdoc;
nlapiLogExecution('DEBUG', 'in data', pdf);
   static void Main(string[] args)
    {
        try
        {
            FileStream stream = new FileStream(@"C:\Users\simplified.PDF", FileMode.Open, FileAccess.ReadWrite);
            byte[] fileBytes = new byte[stream.Length];
            stream.Read(fileBytes, 0, fileBytes.Length);
            stream.Close();

            string jsonString = "{\"tranid\":\"18810\", \"pdfdoc\":\"" + fileBytes + "\"" + "}";
            WebRequest request = WebRequest.Create("https://rest.sandbox.netsuite.com/app/site/hosting/restlet.nl?script=332&deploy=1");
            request.ContentType = "application/json";
            request.Method = "PUT";
            request.Headers.Add("Authorization:NLAuth nlauth_account=XXX, nlauth_email=test@test.com, nlauth_signature=xxx, nlauth_role=18");
            using (var streamWriter = new StreamWriter(request.GetRequestStream()))
            {
                streamWriter.Write(jsonString);
            }

            WebResponse response = request.GetResponse();
            Console.Write(response);
            Console.Read();

        }
        catch (FileNotFoundException e)
        {
            Console.Write(e);
        }
    }
编辑代码现在正在NetSuite中创建pdf文档,但不显示内容

var pdf = data.pdfdoc;
nlapiLogExecution('DEBUG', 'in data', pdf);
再出租

var pdf = data.pdfdoc;
nlapiLogExecution('DEBUG', 'in data', pdf);
试试看
{
var file=datain.file;
nlapiLogExecution('DEBUG','in data',file);
var base64content=nlapiEncrypt(文件'base64',null);
var doc=nlapiCreateFile('mydoc2.pdf','pdf',base64content);
文件集文件夹(115);
var fileid=nlapsubmitfile(doc);
nlapiLogExecution('DEBUG','after submit',fileid);

}
我相信NetSuite希望任何二进制数据都是base64编码的。因此,如果我这样做:string encodedData=Convert.ToBase64String(fileBytes);然后我如何将字符串传递给stream.Read,因为我无法将字符串转换为字节?我对C#file reading API一无所知。我所知道的是,我相信在HTTP请求中传递给NetSuite的任何内容都必须是base64。文件正在创建,但内容没有显示-可能发生错误,因为内容是二进制的,所以我们认为可以使用nlapiEncrypt,但这不起作用。请尝试{var file=datain.file;nlapiLogExecution('DEBUG','in data',file);var base64content=nlapiEncrypt(file,'base64',null);var doc=nlapiCreateFile('mydoc2.pdf','pdf',base64content');doc.setFolder(115);var fileid=nlapisomitfile(doc);nlapiLogExecution('DEBUG','after submit',fileid);}设法解决它。我需要的不是datain.file,而是datain.pdfdoc