以下で私を助けてください。私はCSVファイルをダウンロードできる「DownloadFile」サーブレットを持っています。サーブレットはローカルのWindowsマシン上で動作していますが、私のサーバー上では、ダウンロードファイルのパスを拒否するエラーが発生しています。Tomcatでの許可が拒否されました
TomcatがTomcatユーザーにインストールされています。 Tomcatのユーザーはいくつかのフォルダの所有者ですが、私は依然として権限を拒否されています。
以下はコードとエラーです:
File f = new File("\\opt\\tomcat\\logs\\myfile.csv");
int length = 0;
ServletOutputStream op = response.getOutputStream();
ServletContext context = getServletConfig().getServletContext();
String mimetype = context.getMimeType("text");
response.setContentType((mimetype != null) ? mimetype: "application/octet-stream");
response.setContentLength((int) f.length());
response.setHeader("Content-Disposition","attachment; filename=csv1.csv");
エラー:
YPE例外レポート
メッセージ\オプト\ Tomcatを\ログ\ myfile.csv(パーミッション拒否)
説明サーバーがこの要求を実行できないような内部エラーが発生しました。
例外のUNIXベースの環境で
java.io.FileNotFoundException: \opt\tomcat\logs\myfile.csv (Permission denied)
java.io.FileOutputStream.open0(Native Method)
java.io.FileOutputStream.open(FileOutputStream.java:270)
java.io.FileOutputStream.<init>(FileOutputStream.java:213)
java.io.FileOutputStream.<init>(FileOutputStream.java:101)
java.io.FileWriter.<init>(FileWriter.java:63)
in.travelfiles.Csv1.doGet(Csv1.java:51)
javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)