このプラグインを struts 2 アプリに実装しようとしています。サーバーにファイルを取得することはできますが、適切な div を使用してアクションから応答すると、現在の年がコンテンツのみの空のページが表示されます。IEで私は得る:
Message: Permission denied
Line: 4
Char: 2462
Code: 0
URI: https://blah.blee.blah.ca/js/jquery/js/jquery-1.7.2.min.js
ページを更新するたびに (2012 年を示すページを最初にクリックして戻します)、ページをリロードすると、ファイルがサーバー上にあることがわかります。
ここに私のJSPフラグメントがあります
<div id="main_container">
<form action="uploadFile" method="post" enctype="multipart/form-data">
<input type="file" name="pdffile" class="fileUpload" multiple />
<button id="px-submit" type="submit">Save</button>
<button id="px-clear" type="reset">Clear</button>
</form>
<script type="text/javascript">
jQuery(function($) {
$('.fileUpload').fileUploader({
limit : 1,
autoUpload : false,
selectFileLabel : 'Select',
buttonUpload : '#px-submit',
buttonClear : '#px-clear',
allowedExtension : 'pdf'
});
});
</script>
</div>
ストラット 2 アクション:
public String uploadFile() {
String result = Action.ERROR;
String status = null;
if (log.isDebugEnabled()) {
log.debug("doUpload()");
}
try {
showAttachmentDiv = true;
if (log.isDebugEnabled()) {
log.debug("doUpload() with filename: '" + this.filename
+ "' and contentType '" + this.contentType + "'");
if (uploadedFile != null) {
log.debug("doUplaod() with file.getAbsolutePath(): "
+ uploadedFile.getAbsolutePath());
} else {
log.debug("doUplaod() with file: null ");
}
}
if (uploadedFile != null) {
if (this.getActionErrors().size() == 0) {
AttachmentsUIObject attachment = new AttachmentsUIObject();
// the file object is eventually deleted by the fileUpload
// utility, so we just copy it.
File copiedFile = copyFile(uploadedFile);
attachment.setFile(copiedFile);
attachment.setType(this.uploadAttachmentType);
attachment.setOriginalFilename(this.filename);
attachmentsList.add(attachment);
// save file code here
status = getText(DIV_MESSAGE_UPLOAD_SUCCESS); // on
// success
// inputStream = new StringBufferInputStream(status);
} else {
uploadedFile.delete();
status = getText(DIV_MESSAGE_UPLOAD_FAIL,
new String[] { getActionErrors().toString() });
}
result = Action.SUCCESS;
} else {
addActionError(getText("validation.file.missing"));
result = Action.INPUT;
}
} catch (Exception e) {
log.error("doUpload()", e);
addActionError(getText("error.uploadfailed"));
status = getText(DIV_MESSAGE_UPLOAD_FAIL,
new String[] { getText("error.uploadfailed") }); // on
result = BaseAction.ERROR_UPLOAD;
}
inputStream = new StringBufferInputStream(status);
return result;
}
struts 2 xml 構成:
<action name="uploadFile" method="uploadFile" class="xxx.SubmitAction">
<result name="success" type="stream">
<param name="contentType">text/html</param>
<param name="inputName">inputStream</param>
</result>
</action>
重要な注意事項が 1 つあります。オラクルのウェブセンターがあります。この Struts 2 アプリケーションには、ポータルからアクセスします。これはそれに関連するものでしょうか?