0

我在 NetSuite Suitelet 中使用了以下代码来上传和处理文件:

function main(request,response){
    if (request.getMethod() == 'GET'){
        var form = nlapiCreateForm('Item Import Correction', false);    
        var fileField = form.addField('custpage_file', 'file', 'Select CSV');                
        form.addSubmitButton();        
        response.writePage(form);        
    }else{
        try{
            var file = request.getFile("custpage_file");
            var content = file.getValue();//exception
            response.write(content);
        }catch(ex){
            response.write('Exception:'+ex);
        }
    }    
}

getValue()当我选择一个文件并提交它时,我在调用nlobjFile. 这是响应的输出:

Exception:JavaException: java.lang.NullPointerException: charsetName

但是,我将getValue()调用替换为同一对象的其他方法,例如getSize()or getType(),代码工作正常。

我只想解析用户在 Suitelet 中选择的文件。

4

2 回答 2

0

getFile() - 返回通过 nlobjForm.addField(name, type, label, sourceOrRadio, tab) 方法添加的文件。添加文件字段类型时,您将设置“文件”的类型参数。

确保您使用 getFile() 引用的字段确实存在于表单中。

于 2013-02-12T16:04:55.703 回答
0

调用该setEncoding()方法对nlobjFile我有用。我使用的是中文编码,所以这是对我有用的代码

var file = request.getFile("custpage_file");
file.setEncoding('GB18030');// Chinese
var content = file.getValue();//no exception
于 2013-03-11T15:04:47.310 回答