質問編集履歴

1

修正しました。

2017/02/20 03:01

投稿

Batoh33789
Batoh33789

スコア136

test CHANGED
File without changes
test CHANGED
@@ -36,6 +36,152 @@
36
36
 
37
37
 
38
38
 
39
+ -----追記-----
40
+
41
+ 以下FTP通信部のコードです
42
+
43
+ ```Java
44
+
45
+ private static final int FTP_PORT = 21;
46
+
47
+ private static final String HOST = PropertiesUtil.getValue("ftpserver");
48
+
49
+ private static final String USER = PropertiesUtil.getValue("ftpuser") ;
50
+
51
+ private static final String PASSWORD = PropertiesUtil.getValue("ftppass");
52
+
53
+ private static final String OUTPUT_FOLDER_NAME = PropertiesUtil.getValue("outputfoldername");
54
+
55
+
56
+
57
+ public String sendFile (String remoteFilename, InputStream is ) {
58
+
59
+ final FTPClient ftpclient = new FTPClient();
60
+
61
+ try {
62
+
63
+ //指定するホスト、ポートに接続します
64
+
65
+ ftpclient.connect(HOST, FTP_PORT);
66
+
67
+ // コネクト
68
+
69
+ if (!FTPReply.isPositiveCompletion(ftpclient.getReplyCode())) {
70
+
71
+ return "connectfail";
72
+
73
+ }
74
+
75
+ //ログイン
76
+
77
+ if (ftpclient.login(USER, PASSWORD) == false) {
78
+
79
+ return "loginfail";
80
+
81
+ }
82
+
83
+ //ファイル転送モード設定
84
+
85
+ ftpclient.setFileType(FTPClient.BINARY_FILE_TYPE);
86
+
87
+ //ファイル転送
88
+
89
+ ftpclient.storeFile(OUTPUT_FOLDER_NAME + remoteFilename, is);
90
+
91
+ return null;
92
+
93
+ } catch (IOException e) {
94
+
95
+ return "uploadfail";
96
+
97
+ } finally {
98
+
99
+ try {
100
+
101
+ ftpclient.disconnect(); //接続解除
102
+
103
+ } catch (IOException e) {
104
+
105
+ }
106
+
107
+ }
108
+
109
+ }
110
+
111
+ ```
112
+
113
+ ```Java
114
+
115
+ // プロパティファイルの中身
116
+
117
+ ftpserver=192.168.0.xxx
118
+
119
+ ftpuser=user
120
+
121
+ ftppass=pass
122
+
123
+ outputfoldername=test/
124
+
125
+ ```
126
+
127
+ ```Java
128
+
129
+ public class PropertiesUtil {
130
+
131
+ final static String PROP_PATH = "C:\\test\\test.properties";
132
+
133
+
134
+
135
+ public static String getValue(String id) {
136
+
137
+ final Properties prop = new Properties();
138
+
139
+ try {
140
+
141
+ final InputStream is = new FileInputStream(PROP_PATH);
142
+
143
+ prop.load(is);
144
+
145
+ is.close();
146
+
147
+ return prop.getProperty(id);
148
+
149
+ } catch(Exception e) {
150
+
151
+ e.printStackTrace();
152
+
153
+ }
154
+
155
+ return null;
156
+
157
+ }
158
+
159
+ }
160
+
161
+ ```
162
+
163
+
164
+
165
+ >「NG」というのはどういう状態なのか、詳細いただけますか。
166
+
167
+ ブラウザに500 Internal Server Errorが表示され、
168
+
169
+ tomcat8-stderr.logには何も出力されず、
170
+
171
+ localhost_access_logには接続したログが残ってます。
172
+
173
+
174
+
175
+ >FTPアクセスアカウント情報がコマンドで実行している時と同じか再確認
176
+
177
+ 全く同じ情報で試してますが、コマンドで実行時は動作しました。
178
+
179
+
180
+
181
+ -----ここまで-----
182
+
183
+
184
+
39
185
  何か考えられる対策でも構いません。
40
186
 
41
187
  ご助言頂けましたら幸いです。