这是我如何解决我的习题LEM:
<tr>
<td> Step 1 :
<td>
<input type="hidden" name="isFileUpload" id="id-is-file-upload-0" value="0">
<textarea id="id-solution-0" name="processSolutionSteps" rows="2" cols="50" maxlength="200" class="class-text-area class-text-area-not-blank"></textarea>
<!-- <input type="text" id="id-solution-0" name="processSolution" maxlength="30" size="35"> -->
<p id="id-process-solution-counter-0"></p>
</td>
<td>
<input type="file" id="id-file-0" name="uploads">
</td>
</tr>
<tr>
<td> Step 2 :
<td>
<input type="hidden" name="isFileUpload" id="id-is-file-upload-1" value="0">
<textarea id="id-solution-1" name="processSolutionSteps" rows="2" cols="50" maxlength="200" class="class-text-area class-text-area-not-blank"></textarea>
<!-- <input type="text" id="id-solution-1" name="processSolution" size="35"> -->
<p id="id-process-solution-counter-1"></p>
</td>
<td>
<input type="file" id="id-file-1" name="uploads">
</td>
</tr>
<tr>
<td> Step 3 :
<td>
<input type="hidden" name="isFileUpload" id="id-is-file-upload-2" value="0">
<textarea id="id-solution-2" name="processSolutionSteps" rows="2" cols="50" maxlength="200" class="class-text-area class-text-area-not-blank"></textarea>
<!-- <input type="text" id="id-solution-2" name="processSolution" size="35"> -->
<p id="id-process-solution-counter-2"></p>
</td>
<td>
<input type="file" id="id-file-2" name="uploads">
</td>
</tr>
我只是张贴我的<tr>
标签的几个示例代码
我一直保持着一个隐藏字段isFileUpload
与inital值,许多没有。我<input type="file">
, 上传文件,其变更后的事件中,我改变了isFileUpload
价值作为
$('#id-solution-table').on('change', 'input[type=file]', function() {
$('#id-is-file-upload-'+$(this).prop("id").split("-")[2]).val(1);
});
,在我的动作类我有这样的代码
取决于的isFileUpload
值即我已经检查了它,
意味着我已经上升的文件在thi S指数位置,并上传的文件映射数组是uploads
private File [] uploads;
private String [] uploadsFileName;
private String [] uploadsContentType;
private short isFileUpload [];
try {
int fileIndex = 0;
for (int i = 0; i < this.isFileUpload.length; i++) {
if(this.isFileUpload[i] == 1) {
System.out.println(" index "+i+ " isFileUpload "+this.isFileUpload[i]);
System.out.println("Index "+i+ " "+this.uploadsFileName[ fileIndex ]);
String filePath = path;
new File(filePath).mkdirs();
FileUtils.copyFile(this.uploads[ fileIndex ], new File(filePath+"/"+i+"."+FilenameUtils.getExtension(this.uploadsFileName[ fileIndex ])));
++fileIndex;
}
}
} catch(Exception exception) {
addActionError("Some files not uploaded.");
exception.printStackTrace();
}
隐藏的领域是好的,他们可以使用索引属性名称;) –