Javascript NetSuite-Suitelet POST request.files为空,但存在文件元数据
我使用HTML字符串从外部Suitelet的GET请求输出,以显示提交表单。表单有一个文件输入和两个文本输入。由于我可以通过完整的路径(params.request.files.userfile)访问context.request.files.file_name.fileType和其他字段,所以文件元数据似乎已经完成了发布,但是除了元数据之外,这里没有其他实际内容。之所以这样说,是因为当我尝试记录params.request.files[0]或params.request.files.userfile时,日志中会出现空字符串 get文件在文件柜的Netsuite中创建为正确的文件类型和名称,只有内容为空 这是我在Suitelet的“获取”部分的表格:Javascript NetSuite-Suitelet POST request.files为空,但存在文件元数据,javascript,forms,http,netsuite,suitescript,Javascript,Forms,Http,Netsuite,Suitescript,我使用HTML字符串从外部Suitelet的GET请求输出,以显示提交表单。表单有一个文件输入和两个文本输入。由于我可以通过完整的路径(params.request.files.userfile)访问context.request.files.file_name.fileType和其他字段,所以文件元数据似乎已经完成了发布,但是除了元数据之外,这里没有其他实际内容。之所以这样说,是因为当我尝试记录params.request.files[0]或params.request.files.userf
var html = '<form method="post" enctype="multipart/form-data" accept-charset="utf-8">';
html += '<input type="text" id="id" name="coolid" value="0"><br>';
html += '<input type="text" id="token" name="token" value=""><br>';
html += '<input type="file" id="file" name="file" accept="image/png">';
html += '<button type="submit">submit</button>';
html += '</form>';
params.response.addHeader({
name: 'Content-Type',
value: 'text/html; charset=UTF-8'
});
params.response.write({ output: html });
var fileObj = file.create({
name: params.request.parameters.coolid+ "_file",
fileType: params.request.files.userfile.fileType,
contents: params.request.files[0]
});
fileObj.folder = -1;
fileObj.save();
我可以在Firefox开发工具中看到从表单发送的文件数据:
并且该文件正在Netsuite文件柜中创建。只有0个字节。是否有任何关于我所做的不正确的线索?使用答案ID,并建议您不需要使用file.create方法,并且该文件可以通过ServerRequest.files属性访问
替换:
var fileObj = file.create({
name: params.request.parameters.customer_ext_id + "_file",
fileType: params.request.files.userfile.fileType,
contents: params.request.files[0]
});
fileObj.folder = -4;
fileObj.save();
与:
如果您没有被要求/承诺使用html,那么以下内容也应该适用
if (context.request.method === 'GET'){
var form = serverWidget.createForm({
title: 'Simple Form'
});
var field = form.addField({
id: 'custpage_file',
type: 'file',
label: 'Document'
});
form.addSubmitButton({
label: 'Submit Button'
});
context.response.writePage(form);
}
if (context.request.method === 'POST') {
var newFile = context.request.files.custpage_file;
newFile.folder = 123;
var newFileId = newFile.save();
log.audit('file created', 'file id: '+ newFileId);
}
if (context.request.method === 'GET'){
var form = serverWidget.createForm({
title: 'Simple Form'
});
var field = form.addField({
id: 'custpage_file',
type: 'file',
label: 'Document'
});
form.addSubmitButton({
label: 'Submit Button'
});
context.response.writePage(form);
}
if (context.request.method === 'POST') {
var newFile = context.request.files.custpage_file;
newFile.folder = 123;
var newFileId = newFile.save();
log.audit('file created', 'file id: '+ newFileId);
}