AntDD Upload получает ответ JSON от заднего сервера - PullRequest
0 голосов
/ 08 октября 2018

Когда я использую загрузить компонент , я не знаю, как получить json, возвращенный сервером, например:

{"data":"", "state":2000, "message":"upload fail"}

Когда я console.log("file_response:",file.response), он отображаетответ: {"status": "success"}, а не данные json, которые я хочу получить.

class Verify extends React.Component {
constructor(props){
    super(props);
    this.state = {
    merId:'-1',
    verifyStat:0,
    loading: false,
    fileList: [{
        uid: '-1',
        name: 'license.JPG',
        status: 'done',
        response: '{"status": "success"}',
    }],
    };
}




handleChange = (info) => {
    let fileList = info.fileList;

    // 1. Limit the number of uploaded files
    // Only to show two recent uploaded files, and old ones will be replaced by the new
    fileList = fileList.slice(-2);

    // 2. Read from response and show file link
    fileList = fileList.map((file) => {
      if (file.response) {
        // Component will show file.url as link
        console.log("file_response_json:",file.response)
        file.url = file.response.url;
      }   
      return file;
    }); 

}

      const licenUpload = {
      multiple: true,
      data: this.state.merId+image_suffix_name,
      //action: '//172.20.22.182:8080/merchant/upload',
      action: path,
      onChange: this.handleChange,
      beforeUpload: beforeUpload,
    };

back server upload.py:

def uploadFile(request):
if request.method == 'POST':
    form = UploadFileForm(request.POST, request.FILES)
    print(request.FILES)
    q = request.POST
    a = ''
    for key in request.POST:
        a = a + q.__getitem__(key)
    if form.is_valid():
        image_addr = handle_uploaded_file(request.FILES['file'],a)
        print(image_addr)
        return JsonResponse({"data":image_addr, "state":0, "message":"ok"})
else:
    form = UploadFileForm()
return JsonResponse({"data":"", "state":2000, "message":"upload fail"})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...