1. 程式人生 > >關於post請求上傳檔案和其它資料

關於post請求上傳檔案和其它資料

1,背景: 在網上搜索這個問題得到的答案只有上傳檔案的單一上傳方式,並沒有說如果還需要其它請求引數的時候該如何處理。 2,解決方案: 通過append來加入其它請求引數,在上傳的時候還是用data:fromlsdata來上傳 3,相關程式碼:

 handleUpload = () => {

        var formData = new FormData(document.getElementById("file"));//繫結下面的id名
        //下面是請求引數名+請求引數的資料新增進fromdata中
      
        formData.append("title",this.state.title)					
        formData.append("year",this.state.year)
        formData.append("saveTerm",this.state.saveTerm)
        formData.append("seriesNumber",this.state.seriesNumber)
        formData.append("liablePerson",this.state.liablePerson)
        formData.append("level",this.state.level)
        formData.append("dateString",this.state.dateString)
        formData.append("archiveCategoryId",1537430848544)

 //       console.log(formData.get("dataString"))   //這個是驗證程式碼是否有新增進去
        // var formData = new FormData(document.getElementById("file"));
        $.ajax({
            url: "http://localhost:3006/archiveDocument/add",	
            type: "POST",
            data: formData,
            processData: false,
            contentType: false,
            dataType: "json",
            success: function (data) {
                console.log(data)
                let Data=eval(data);
                // this.props.getFather.state.try.getList();
                if(Data.state===0){
                    alert(Data.message)
                }
            },
            error: function (data) {
                alert(1)
            }
        })

return部分 <Card title=“附件” bordered={false} style={{ margin:30 }}>//card 是採用了antd的ui設計語言

<form id=“file” method=“post” encType=“multipart/form-data” style={{display:“flex”}}>
                    </div>
                </Card>