У меня есть следующая функция Scala:
def upload = Action(parse.multipartFormData) { implicit request =>
//grabbing the values from the request
println("Request To Upload File = " + request.toString)
val values = request.body.dataParts
val category:Option[Seq[String]] = values.get("category")
val id:Option[Seq[String]] = values.get("id")
//Grabbing the parts of the file, and adding that into the logic
request.body.file("file").map { file =>
val fileBytes = FileUtils.readFileToByteArray(new File(file.ref.file.getPath))
val fileType = file.contentType.getOrElse("None")
val encodedFile:String = Base64.getEncoder().encodeToString(fileBytes)
val rowId = getElement(id)
println(rowId)
val record:FileRecord = FileRecord(rowId, getElement(userid), file.filename, getElement(category),getElement(project), "1",fileType,encodedFile,0)
FileRecords.add(record)
Ok(rowId)
}.getOrElse {
BadRequest("Dragons won.")
}
}
Я хочу создать сообщение Axios, которое будет использовать эту функцию. Что-то вроде:
axios.post('/upload', {id: someId,
category: someCategory,
file: someUploadedFile
})
.then((response) => {.... })
SomeUploadedFile поступает из:
var componentConfig = { postUrl: 'no-url' };
var djsConfig = { autoProcessQueue: false }
var eventHandlers = { addedfile: (someUploadedFile) => ... code to upload file with axios.post ..... }
ReactDOM.render(
<DropzoneComponent config={componentConfig}
eventHandlers={eventHandlers}
djsConfig={djsConfig} />,
document.getElementById('content')
);
Моя большая проблема заключается в том, что я не понимаю, как создать этот вызов axios сейчас, когда файл включен, а также добавить дополнительную информацию, относящуюся к этому файлу, чтобы объект запроса в функции Scala мог обрабатывать этот файл из JSON.