Comment créer l'objet CommonsMultipartFile donné seulement un fichier
J'ai un test junit méthode qui prend un CommonsMultipartFile objet en tant que paramètre.
Je suis en train de créer un FileItem objet afin que je puisse passer au constructeur,
CommonsMultipartFile(org.apache.commons.fileupload.FileItem fileItem)
De le faire, je suis en train de créer le FileItem objet à l'aide de la DiskFileItem constructeur,
DiskFileItem(java.lang.String fieldName, java.lang.String contentType, boolean isFormField, java.lang.String fileName, int sizeThreshold, java.io.File repository)
mais je ne suis pas sûr de la façon de passer n'importe quel de ces paramètres.
J'ai tout de ce travail dans un Spring MVC 3 contrôleur, mais pour faire mes tests junit, j'ai besoin de passer d'une méthode de deux objets. L'un est le UploadItem objet qui ressemble à celui-ci,
import org.springframework.web.multipart.commons.CommonsMultipartFile;
public class UploadItem {
private String fileName;
private String filePath;
private CommonsMultipartFile fileData;
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public String getFilePath() {
return filePath;
}
public void setFilePath(String filePath) {
this.filePath = filePath;
}
public CommonsMultipartFile getFileData() {
return fileData;
}
public void setFileData(CommonsMultipartFile fileData) {
this.fileData = fileData;
}
}
La setFileData() la méthode nécessite la CommonsMultipartFile objet dont je suis en train de créer simplement un fichier dans mon répertoire src/test/resources répertoire.
Serait ce que quelqu'un sait comment je peux prendre un fichier, de créer un FileItem objet et le passer à la CommonsMultipartFile constructeur de l'objet?
Grâce. Si quelque chose n'est pas clair, s'il vous plaît laissez-moi savoir que je ne suis pas familier avec Spring MVC de téléchargement de fichiers.
source d'informationauteur wsams
Vous devez vous connecter pour publier un commentaire.
L'utilisation la plus commune de l'interface
org.springframework.web.multipart.MultipartFile
. au lieu deorg.springframework.web.multipart.commons.CommonsMultipartFile
dans votre Commande (UploadItem). (CommonsMultipartFile est de 1:1 de la mise en œuvre de l'Interface).Maintenant, vous pouvez créer une instance de
CommonsMultipartFile
avec la maquette de la classeorg.springframework.se moquer.web.MockMultipartFile
. (qui est l'élément despring-test.jar
).Alors la création d'un MultipartFile dans les tests est une seule instruction, sans cast:
Comment cela est-il de l'aide? vous n'avez pas mis le fichier à la demande, il devrait être utilisée comme ceci:
Je suis en utilisant une méthode avec l'argument
CommonsMultipartFile
sinon j'aurais pu utiliserMockMultipartFile
directement.