jQueryを使用してAJAX経由で画像をアップロードしています。ここでファイルをアップロードするときにjava.io.FileNotFoundException(パス)(アクセスが拒否されました)
は私のHTMLです:ここでは
<body>
<form id="formId">
<input type="file" name="file">
<input type="submit" id="btn" value="submit">
</form>
</body>
は私のjQueryのコードです:ここで
$(document).ready(function(){
$("#btn").ready(function(){
data1= new FormData($("#formId")[0]);
$.ajax({
url: 'Sample1',
type: 'POST',
data :data1,
processData: false,
contentType: false,
dataType:"text",
success:function(response)
{
}
});
});
});
は私のJavaコードです:
ServletFileUpload sf=new ServletFileUpload(new DiskFileItemFactory());
try {
List<FileItem> multifiles=sf.parseRequest(request);
for(FileItem item:multifiles){
try {
item.write(new File("D:\\Projects\\i_seva\\WebContent\\"+item.getName()));
System.out.println(item.getName());;
//System.out.println(ss);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
私はボタンの上の要求をクリックすると、 Sample1
サーブレットに移動しますが、次の例外が発生しています
java.io.FileNotFoundException: D:\Projects\i_seva\WebContent (Access is denied)
at java.io.FileOutputStream.open0(Native Method)
at java.io.FileOutputStream.open(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at org.apache.commons.fileupload.disk.DiskFileItem.write(DiskFileItem.java:394)
at com.iseva.Servlet.Sample1.doPost(Sample1.java:35)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1104)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1519)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1475)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Unknown Source)
私はAJAXなしでそれを行うと、通常のフォーム操作でのみ、画像をアップロードしています。私はそれが間違っている場所を辿ることができません。
あなたもJavaコードを投稿できますか? – Lino
これはJavaコード "_at com.iseva.Servlet.Sample1.doPost(Sample1.java:35)_"に関連しています。スタックトレースでは常に情報を見つけることができます。 – Alex
アクセスが拒否された場合は、https://stackoverflow.com/questions/12876743/creating-file-on-windows-7-causes-access-denied-exceptionをチェックしてください。 – Alex