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()getType()

Suiteletでユーザーが選択したファイルを解析したいだけです。

4

2 に答える 2

0

getFile()-nlobjForm.addField(name、type、label、sourceOrRadio、tab)メソッドを介して追加されたファイルを返します。ファイルフィールドタイプを追加するときは、「file」のタイプパラメータを設定します。

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 に答える