複数のファイル情報を渡す(ファイルの順序が重要な場合)

9346 ワード

ファイルをajaxに渡し、複数の添付ファイルの順序が非常に重要である場合、
$("#mainForm").ajaxForm({
            url: "/main/saveBannerFile",
            type: "POST",
            enctype: "multipart/form-data",
            dataType: "json",
            async: false,
            success : function(result) {
                if (!result.success) {
                    common.alert(result.msg);
                    doubleSubmitFlag = false;
                    return false;
                }
                common.alert(result.msg, function(){
                    location.reload();
                });
            },
            error : function(result) {
                doubleSubmitFlag = false;
            }
        }).submit();
<td colspan="2">
                            <label class="btn default-sm input-group-file">
                                <i class="fa fa-upload"></i>파일첨부
                                <input type="file" name="list[${status.index}].webFile"/>
                            </label>
                            <ul class="file-list" <c:if test="${empty list.webOrgFileName}">style="display:none"</c:if>>
                                <li class="file-list-item" style="cursor:pointer">
                                    <a href="#" class="download fileName">${list.webOrgFileName}</a>
                                    <button type="button" class="delete deleteFileBtn">삭제</button>
                                    <input type="hidden" name="fileSeq" class="fileSeq" value="${file.fileSeq}"/>
                                </li>
                            </ul>
                        </td>
重要な部分の音name配列!
<input type="file" name="list[${status.index}].webFile"/>
@PostMapping("/saveBanner")
    @Transactional
    public @ResponseBody
    CommonResult saveMainBanner(@ModelAttribute BannerSaveDto bannerSaveDto) throws IOException {
@Setter
@Getter
@NoArgsConstructor
public class BannerSaveDto implements Serializable {
    private Long seq;
    private String title;
    private String subtitle;
    private MultipartFile webFile;
    private MultipartFile mobileFile;
    private String webLinkUrl;
    private String mobileLinkUrl;
    private String languageCode;

    private List<BannerSaveDto> list = new ArrayList<>();
}