@Ravi Kumar
Vous pouvez utiliser
public Response uploadFileSimple(@FormDataParam("file") File file, @FormDataParam("file") FormDataContentDisposition formData)
Il vous renvoie un objet fichier directement, mais jersey elle-même créer un objet de fichier dans temp pour vous, vous pouvez donc dire qu'il ya deux fichiers temp avec la même Taille.
First MIMExxxxx.tmp from where you get you input steam
Second re234xxxx from which you get this file object
NOTE :
Avant d'appeler prendre votre maillot de méthode de ressource temps pour créer ce fichier deux (selon la taille du fichier).
Et si vous souhaitez utiliser directement le fichier MIMExx.tmp
, alors je ne pense pas qu'il existe une façon simple, vous pouvez utiliser JAVA REFLECTION
pour obtenir le chemin du fichier temporaire et l'utilisation.
Utilisation de Java Réflexion:
@Path("/upload/{parentfolderid}")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response uploadFileWithPart(FormDataMultiPart form)
{
try
{
FormDataBodyPart filePart = form.getField("upload");
BodyPartEntity bodyPart = (BodyPartEntity) filePart.getEntity();
MIMEPart mimePart = (MIMEPart) readFieldValue("mimePart", bodyPart);
Object dataHead = readFieldValue("dataHead", mimePart);
Object dataFile = readFieldValue("dataFile", dataHead);
File tempFile = null;
if (dataFile != null)
{
Object weakDataFile = readFieldValue("weak", dataFile);
tempFile = (File) readFieldValue("file", weakDataFile);
}
else
{
tempFile = filePart.getValueAs(File.class);
}
// Here is your *tempFile*, Do what ever you want with it
}
private static Object readFieldValue(String fieldName, Object o) throws Exception
{
Field field = o.getClass().getDeclaredField(fieldName);
field.setAccessible(true);
return field.get(o);
}
Que voulez-vous dire par 'un fichier lui-même'? Quel est exactement ce que vous essayez de faire? –
le flux est conçu en studio mule. le composant "fichier à Byte Array Transformer" fichier à transformer, pour lequel nous devons envoyer le fichier à travers la classe ci-dessus - en acceptant par le biais du client. –
Je pense que si vous voulez renvoyer un objet File à cet autre "File to Byte Array Transformer", vous devrez écrire InputStream dans un fichier, puis envoyer le fichier. –