问题描述
文件上传:packagecn.itcast.shop.model;importjava.io.File;publicclassFileImage{privateFilefile;privateStringcontentType;privateStringfilename;publicvoidsetUpload(Filefile){this.file=file;}publicvoidsetUploadContentType(StringcontentType){this.contentType=contentType;}publicvoidsetUploadFileName(Stringfilename){this.filename=filename;}publicFilegetFile(){returnfile;}publicStringgetContentType(){returncontentType;}publicStringgetFilename(){returnfilename;}}前端用easyui,:<div><label>图片上传:</label><inputtype="file"name="fileImage.upload"/></div>后台:Stringpic=fileUpload.uploadFile(fileImage);model.setPic(pic);但总是报fileImage空指针异常,求解答
解决方案
解决方案二:
文件解析呢?文件放在服务器哪个地方呢?你就set到对象里面就行了吗?
解决方案三:
文件流的写入读取都没有你怎么上传哪怕你直接用到copy也行啊
解决方案四:
fileImage没有这个对象,而且前台那个name也有问题
解决方案五:
基于struts2文件上传<formaction="upload.action"method="post"enctype="multipart/form-data">请选择图片:<inputname="file"type="file"/><inputtype="submit"value="提交"/></form>
publicclassFileUploadActionextendsActionSupport{/*privateFile自定义;privateString自定义ContentType;//上传文件类型privateString自定义FileName;//上传文件名字*/privateFilefile;//上传文件与html中file的name相同privateStringfileContentType;//上传文件类型privateStringfileFileName;//上传文件名字//set&&getpublicStringexecute()throwsException{//获取项目跟路径,下面的images!Stringpath=ServletActionContext.getServletContext().getRealPath("/images");Filefile=newFile(path);//不存在就创建文件夹if(!file.exists()){file.mkdir();}//传的文件保存到本地FileUtils.copyFile(upload,newFile(file,uploadFileName));returnSUCCESS;}}
struts2.xml<actionname="upload"class="com.action.FileUploadAction"><result>/jsp/success.jsp</result><!--配置拦截器限制上传文件类型及大小--><interceptor-refname="fileUpload"><paramname="allowedTypes">image/bmp,image/x-png,image/gif,image/jpeg,application/vnd.ms-excel</param><paramname="maximumSize">2M</param></interceptor-ref><interceptor-refname="defaultStack"></interceptor-ref></action>
解决方案六:
引用4楼janda2011的回复:
基于struts2文件上传//传的文件保存到本地FileUtils.copyFile(upload,newFile(file,fileFileName));