这段代码错误,发生这个异常通常是方法中某个参数为空了。
有一个名为source的参数啊,后来发现是 processors 为 NULL,调用 Select 方法当然会出错。但是根据我们平时的经验,一个为NULL的对象,调用它的方法时,应该抛出 NullReferenceException。
表单默认以enctype="application/x-www--form-urlencoded" 编码参数,通过GET,或POST将表单域中的input表单项的值附加到浏览器头或请求体中,发送到WEB服务器,然后WEB服务器可以直接从后台程序中获取请求,即 request.getParameter() 得到结果。如果表单以 enctype="multipart/form-data”编码参数,则通过POST发送后,参数不能通过request.getParameter获得,只能从请求流中获取,即 request.getInputStream()
直接把流中的内容写成文件,其实根本不是原来的文件,用文本编辑器打开就可以看到原因:
==================================================================
-----------------------------7d41412a102aa
Content-Disposition: form-dataname="t1"
test
-----------------------------7d41412a102aa
Content-Disposition: form-dataname="file"filename="C:\Documents and Settings\NetSniffer\My Documents\My Pictures\4139defd-4082403.jpg"
Content-Type: image/pjpeg
...二进制信息体....
-----------------------------7d41412a102aa
Content-Disposition: form-dataname="Submit"
提交
-----------------------------7d41412a102aa--
可以看出每段信息体都是以-----------------------------7d41412a102aa 隔开,要生成二进制的图片只能从流中获取中间的[二进制信息体],然后将此段信息写成文件即为原始文件体,SmartUpload也正是剖析multipart/form-data这种编码生成的请求流格式,分段取,当段中含有 【filename="】这样的字段时,就开始一个二级制文件的读取,从此位置读到分隔符,取出二进制信息体,然后保存。
可能存在以下的原因:
表格中该列数据本身就全都是空值或缺失值,导致在上传时被识别为 null。
2. 该列数据格式与 SPSS 要求的格式不符合。例如,该列数据应为数值型,但是数据中却包含了字符型等非数值类型数据,这会导致该列被识别为 null。
3. 在上传表格时出现了错误,例如上传的表格与 SPSS 要求的格式不一致,或者上传时未正确选择要导入的列,这些问题都可能导致部分列被识别为 null。
解决方法:
检查表格中该列数据是否存在空值或缺失值,如有需要进行填充或删除 *** 作。
2. 检查数据格式是否符合 SPSS 要求的格式,如果不符合需进行数据格式转换。
3. 重新上传表格并检查上传过程是否正常,确保上传的表格与 SPSS 要求的格式一致。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)