1 /*
2 * Copyright 2000-2001,2004 The Apache Software Foundation.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 package org.apache.jetspeed.modules.actions.portlets.designer;
17
18
19 import java.io.File;
20 import org.apache.turbine.util.upload.FileItem;
21
22 //for logging
23 import org.apache.commons.logging.Log;
24 import org.apache.commons.logging.LogFactory;
25
26 /***
27 * File Uploader helper
28 *
29 * @author <a href="mailto:jlim@gluecode.com">Jonas Lim</a>
30 * @version $Id: FileUploader.java,v 1.1 2004/03/10 22:53:59 taylor Exp $
31 */
32 public class FileUploader
33 {
34
35 private static Log log = LogFactory.getLog(FileUploader.class);
36
37 public boolean upload(FileItem fileItem, String location,
38 String fileTypes[])
39 {
40 boolean hasUpload = false;
41
42 try
43 {
44 File file = new File(fileItem.getFileName());
45 String filename = file.getName();
46 String contentType = fileItem.getContentType();
47
48 int index = filename.lastIndexOf("//");
49 int index2 = filename.lastIndexOf("//");
50
51 if (index > 0)
52 {
53 filename = filename.substring(index + 1);
54 }
55
56 if (index2 > 0)
57 {
58 filename = filename.substring(index2 + 1);
59 }
60 // remove restrictions in upload
61 /*
62 boolean isFileType = false;
63 for (int i = 0; i < fileTypes.length; i++)
64 {
65 if (contentType.equalsIgnoreCase(fileTypes[i]))
66 {
67 isFileType = true;
68 break;
69 }
70 }
71
72 if (isFileType == true || fileTypes == null
73 || fileTypes.length == 0)
74 {
75 fileItem.write(location + filename);
76 hasUpload = true;
77 }
78 */
79
80 fileItem.write(location + filename);
81 hasUpload = true;
82 } catch (Exception e)
83 {
84 log.info("error in FileUploader class");
85 hasUpload = false;
86 log.error(e);
87 }
88 return hasUpload;
89 }
90
91 public String getFilename(FileItem fileItem, String location,
92 String fileTypes[])
93 {
94 String filename = "no result";
95 try
96 {
97 File file = new File(fileItem.getFileName());
98 filename = fileItem.getName();
99
100 int index = filename.lastIndexOf("//");
101 int index2 = filename.lastIndexOf("//");
102
103 if (index > 0)
104 {
105 filename = filename.substring(index + 1);
106 }
107
108 if (index2 > 0)
109 {
110 filename = filename.substring(index2 + 1);
111 }
112 filename = location + filename;
113 } catch (Exception e)
114 {
115 log.error(e);
116 }
117 return filename;
118 }
119 }