【发布时间】:2016-05-18 05:31:36
【问题描述】:
我正在编写一个逻辑,当用户第一次访问网页时(例如在他的个人资料页面中),用户会上传一个文本文件。下次用户访问该网页时,他应该能够找到上传的文件作为链接。
到目前为止,我已经能够在用户特定的路径中上传文件,并考虑如何在网页中显示它。
我正在关注mkyong,但我在这里发现的问题是动作结果在流中,而在我的情况下,valuestack 有其他动作细节。
代码片段:
1.动作类
public String uploadResume(){
try{
if(uploadFile==null){
throw new NullPointerException();
}
File file = new File("/Users/shibasish/Documents/","/"
+ GenerateTimestampID.generateTimestamp()+"/shibasish");
if (!file.exists()) {
if (file.mkdirs()) {
System.out.println("Directory is created!");
} else {
System.out.println("Failed to create directory!");
}
}
String filePath = file.getPath();
File fileToCreate = new File(filePath, uploadFileFileName);
FileUtils.copyFile(uploadFile, fileToCreate);
}catch(NullPointerException e){
addActionError("Please upload a resume");
}
catch(Exception e){
e.printStackTrace();
}
return "success";
}
2.struts.xml
<action name="uploadResume" class="com.msventure.web.actions.CompleteProfileAction"
method="uploadResume">
<interceptor-ref name="defaultStack">
<param name="fileUpload.allowedTypes">
text/plain,application/pdf,application/octet-stream
</param>
</interceptor-ref>
<result name="success">/profile.jsp</result>
<result name="fail">/login.jsp</result>
<result name="index">/index.jsp</result>
<result name="login">/talent.jsp</result>
</action>
JSP
<form id="login" name="login" method="post" action="signup">
<p>
<input type="submit" value="Update" />
</p>
</form>
<s:if test="uploadFile neq null">
<!--<h4>Download file - <s:a href="uploadFile">fileABC.txt</s:a></h4>-->
<a href="<s:property value="uploadFile" />" />
</s:if>
<s:form id="login" name="login" method="post" action="uploadResume"
enctype="multipart/form-data">
<s:file name="uploadFile" label="Select a File to upload" size="40"/>
<s:submit value="submit" name="submit"/>
<!--<input type="button" value="Search" id="resumeupload" />-->
</s:form>
如果我不清楚,请告诉我。
【问题讨论】:
标签: java html jsp file-upload struts2