eclipse IDEを使用して開発しているアプリケーションです。私のアプリケーションにはファイルアップロード機能があります。アップロードされたファイルはwebcontentディレクトリに保存されていません
ファイルのアップロード方法と保存方法を達成できました。しかし、問題は、アップロードされたファイルが動的Webプロジェクトディレクトリに格納されていないことです。
.metadata
フォルダ有する経路
ファイルと私のサーバーのディレクトリにファイルをアップロードGETストア:/// E:/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/ wtpwebapps/
WebContent/upload/images
のような画像フォルダを持つアップロードフォルダを持つWebcontentフォルダにアップロードしたフォルダを保存します。
画像ファイルを表示できますが、希望するパスは上記のようなものです。私は、アップロードされたファイル
@RequestMapping(value = "/company/UploadFile.action", method = RequestMethod.POST)
public @ResponseBody String uploadFile(FileUploadBean uploadItem, BindingResult result,HttpServletRequest request, HttpServletResponse response) {
System.out.println("FILE UPLOAD ITEM SI SSLSL ::"+uploadItem);
ExtJSFormResult extjsFormResult = new ExtJSFormResult();
if (result.hasErrors()){
for(ObjectError error : result.getAllErrors()){
System.err.println("Error: " + error.getCode() + " - " + error.getDefaultMessage());
}
//set extjs return - error
extjsFormResult.setSuccess(false);
return extjsFormResult.toString();
}
// Some type of file processing...
System.err.println("-------------------------------------------");
System.err.println("Test upload: " + uploadItem.getFile().getOriginalFilename());
System.err.println("-------------------------------------------");
try{
MultipartFile file = uploadItem.getFile();
String fileName = null;
InputStream inputStream = null;
OutputStream outputStream = null;
if (file.getSize() > 0) {
inputStream = file.getInputStream();
/*if (file.getSize() > 10000) {
System.out.println("File Size:::" + file.getSize());
extjsFormResult.setSuccess(false);
return extjsFormResult.toString();
}*/
System.out.println("also path ::"+request.getRealPath("") + "/upload/images/");
System.out.println("PATHI SIS SIS"+this.getClass().getProtectionDomain().getCodeSource().getLocation().getPath());
System.out.println("size::" + file.getSize());
InetAddress addr = InetAddress.getLocalHost();
byte[] ipAddr = addr.getAddress();
System.out.println("HOST NAME"+request.getRealPath("ResourceMgt"));
System.out.println("HOST ADDR"+addr.getHostAddress());
System.out.println("HOST "+request.getRequestURI());
System.out.println("HOST "+request.getRequestURL());
fileName = request.getRealPath("") + "/upload/images/"
+ file.getOriginalFilename();
outputStream = new FileOutputStream(fileName);
System.out.println("FILEN ANEM AND PATH IS ::"+fileName);
System.out.println("fileName:" + file.getOriginalFilename());
int readBytes = 0;
byte[] buffer = new byte[40000];
while ((readBytes = inputStream.read(buffer, 0, 40000)) != -1) {
outputStream.write(buffer, 0, readBytes);
}
companyservice.saveImages(file.getOriginalFilename(),fileName);
outputStream.close();
inputStream.close();
}
}catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
//set extjs return - sucsess
extjsFormResult.setSuccess(true);
return extjsFormResult.toString();
}
を保存するために使用していますコードの下 は私が私のWebContentにアップロードされたファイルは、imagesフォルダにアップロードフォルダを持つ保存することができますどのように私を提案してください。上記のコードは完全に動作しています。パスを指定する際に問題があります。
あなたは私が私のJavaのクラス –
ではWebContentパスを取得することができますまあ、それは親切にdepensどのように私に言ってくださいすることができあなたが開発しているアプリケーションのしかし、このページに行く:http://forums.whirlpool.net.au/archive/1232043 –