我正在尝试使用file类型的输入上传文件,我还有另一个参数要提交
以下是我的表格代码:
<form id="fileupload" action="uploadMassContentsFromExcelSheetNew" method="post"
enctype="multipart/form-data" onsubmit="return doMassValidate();" >
<input type="hidden" id="fileName" name="fileName" value=""/>
<input type="hidden" id="serviceIdMass" name="serviceIdMass" value=""/>
<input type="hidden" id="contentTypeMass" name="contentTypeMass" value=""/>
<div id='fileDiv' class="row fileupload-buttonbar">
<div class="col-md-12 col-xs-12 col-lg-12">
<div class="input-group input-group-file">
<input type="text" class="form-control"
disabled="disabled" id="uploadFile" name="uploadFile">
<span class="input-group-btn">
<span class="btn btn-primary btn-file">
<i class="icon md-upload" aria-hidden="true"></i>
<input type="file" name="files" id="uploadBtn">
</span>
</span>
<p style="word-wrap: break-word;">
<small id="fileError" style="display: none;"
class="help-block" data-fv-validator="notEmpty"
data-fv-result="VALIDATED">
<s:property value="getText('content.file.error')" />
</small>
</p>
</div>
</div>
</div>
<button name="sub" type="submit" >submit</button>
</form>
JS代码:
function doMassValidate(){
var hasSelectedFile=checkIfHasSelectedFile();
if(!hasSelectedFile){
fileErrorMessage();
$("#fileError").hide();
return false;
}
else{
removeErrorClass('fileDiv');
return true;
}
}
function checkIfHasSelectedFile(){
var hasNotUploadFile= $('#uploadBtn').val();
if(hasNotUploadFile=="" || hasNotUploadFile=='' )
return false;
else return true;
}
这是我的行动:
public String uploadMassContentsFromExcelSheetNew() {
HSSFSheet sheet = null;
HSSFWorkbook workbook = null;
FileInputStream inputStream = null;
result=new JSONObject();
try {
if (fileName != null){
fileName=fileName.trim();
if (fileName.endsWith(".xls") || fileName.endsWith(".xlsx") ) {
HttpServletRequest request = ServletActionContext.getRequest();
System.out.println("Parts*******:"+request.getParts()); //return null
MultiPartRequestWrapper multiWrapper=(MultiPartRequestWrapper)ServletActionContext.getRequest();
String fileNameParam=servletRequest.getParameter("fileName");//i get the file name value
String fileParam=servletRequest.getParameter("files");// i cant get param with name "files" when i inspect the servletRequest
Part filePart =request.getPart("files");//return null
File[] f=multiWrapper.getFiles("files"); //return null
String fileName=multiWrapper.getFileNames("files")[0];
Enumeration fileParameterNames = multiWrapper.getParameterNames();
String param = request.getParameter("files");
}
}
}
catch(Exception ex){
ex.printStackTrace();
}
}
和IM使用fileUpload拦截器:
<interceptor-ref name="fileUpload"/>
<interceptor-ref name="basicStack"/>
这是请求:
------WebKitFormBoundaryjBpjIWpSdq4RzL0X
Content-Disposition: form-data; name="fileName"
C:\fakepath\SMSMassploadOladDate.xls
------WebKitFormBoundaryjBpjIWpSdq4RzL0X
Content-Disposition: form-data; name="serviceIdMass"
647
------WebKitFormBoundaryjBpjIWpSdq4RzL0X
Content-Disposition: form-data; name="contentTypeMass"
1
------WebKitFormBoundaryjBpjIWpSdq4RzL0X
Content-Disposition: form-data; name="files"; filename=""
Content-Type: application/octet-stream
文件内容类型不应该是“application/ms-excel,application/vnd.ms-excel
”而不是application/octet-stream
?文件名不应该是空的?
我真的不明白文件有什么问题?
我已经用struts解决了这个问题。xml i只是扩展了“struts默认值”,它应该扩展为“struts默认值,json默认值”。另外,它与blueimp插件有关,我试图使用调用的“main.js”库使我的代码无法工作。
问题内容: 我查看了用于$ resource的AngularAPI,但没有找到将s发送到RESTful服务的方法。 我知道使用$http方法是可能的,所以,也可以使用吗? 显然,这是的选项。 动作 – {string} –动作的名称。该名称成为资源对象上方法的名称。 方法 – {string} – HTTP请求方法。有效方法为:GET,POST,PUT,DELETE和JSONP params –
我查看了$resource的Angular API,但没有找到向RESTful服务发送的方法。 isArray-{boolean=}-如果为true,则此操作返回的对象为数组,请参见returns部分。 目前,我还没有找到发送包含JSON对象的请求负载的任何方法。
我正在尝试将文件上传到 Azure Blob 存储,但在将文件推送到存储中时收到错误。 我使用java 11和Quarkus进行开发。在POM上,我添加了工件azure-storage-blob和azure-sdk-bom 法典: 恢复错误 io.net.cha.DefaultChannelPipeline] (vert.x-eventloop-thread-2) 一个 exceptionCaug
我是一个使用angular的新手,我正在努力学习一点,但我不能使用令牌进行简单的获取。我做了很多研究,最后总是得到这段代码。 对于我的后端,我使用Kotlin/Springboot并配置了Cors。 即使如此,当尝试这样做请求我得到这个错误。 访问位于“”的XMLHttpRequesthttp://localhost:5000/api-v1/来源的帐户/列表 -- 果心js:15713错误Http
我制作了一个简单的JavaScript页面,当按下“发送”按钮时,该页面应该显示时间表并通过HTTP发送数据。 数据应该发送到一个Arduino使用这个简单的方案: http://arduinoip/DATASTARTSHEREhh:mm;hh:mm;hh:mm;[...];DATAENDSHERE 我使用以下代码打印我在Arduino串行监视器中收到的所有数据: 我收到的数据如下: 新客户 CM
我正在尝试将图像作为广告中的字符串字段上传,但当将文件添加到正文时,我遇到了这个错误:“异常”:“org.springframework.web.multipart.support.MissingServletRequest estPartException”,“消息”:“所需的请求部分'file'不存在”。我在这里寻找有关此问题的答案,但没有任何帮助。我将很高兴得到任何帮助。 我的控制器: 我的