Téléchargement de fichiers avec un autre objet dans le service Web RESTful de Jersey
Problème :
Vous vous souhaitez créer un enregistrement d'employé avec une image et des données d'employé dans un seul appel d'API REST à l'aide de Jersey, mais la mise en œuvre actuelle génère une erreur dans Chrome Facteur.
Réponse :
Pour activer le téléchargement simultané de fichiers et la transmission de données JSON, les données JSON doivent être incluses dans la requête en plusieurs parties. Voici une version modifiée de votre extrait de code :
@POST @Path("/upload2") @Consumes({MediaType.MULTIPART_FORM_DATA}) public Response uploadFileWithData( @FormDataParam("file") InputStream fileInputStream, @FormDataParam("file") FormDataContentDisposition contentDispositionHeader, @FormDataParam("emp") Employee emp) { //..... business login }
Le changement clé est l'ajout de @FormDataParam("emp") pour inclure les données des employés dans la requête multipart.
Remarques supplémentaires :
@POST @Path("upload2") @Consumes(MediaType.MULTIPART_FORM_DATA) public Response uploadFileAndJSON(@FormDataParam("emp") FormDataBodyPart jsonPart, @FormDataParam("file") FormDataBodyPart bodyPart) { jsonPart.setMediaType(MediaType.APPLICATION_JSON_TYPE); Employee emp = jsonPart.getValueAs(Employee.class); }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!