0

以前は動作していたコードですが、現在は失敗し始めています。サーバー上で何かが変更された可能性があります。パーミッションなどです。修正するには、それが何であるかを把握する必要があります。

基本的に私は持っています:

  1. ファイルをサーバーに送信する POST リクエスト
  2. ファイルは電子メールで添付ファイルとして送信されます

Mimeparts を準備するコードは次のとおりです。

DiskFileItemFactory factory = new DiskFileItemFactory();        
ServletFileUpload upload = new ServletFileUpload(factory);

//parse request
List<?> items = upload.parseRequest(request);

HashMap<String, FileItem> form = new HashMap<String, FileItem>(); 

Iterator<?> iterator = items.iterator();
while (iterator.hasNext()) {
    FileItem item = (FileItem) iterator.next();           
    form.put(item.getFieldName(), item);
}


//handle attachment
if(form.containsKey("uploaded_file"))
{
    FileItem fileItem = form.get("uploaded_file");
    String fileName = fileItem.getName();
  File f = new File(fileName);
    try {
        InputStream inputStream = fileItem.getInputStream();

        OutputStream out=new FileOutputStream(f);
        byte buf[]=new byte[1024];
        int len;
        while((len=inputStream.read(buf))>0)
            out.write(buf,0,len);

        out.close();
        inputStream.close();

    }  catch (Exception e) {
        e.printStackTrace();
    }

    MimeBodyPart attachment = new MimeBodyPart();
    attachment.setDataHandler(new DataHandler(new FileDataSource(f)));
    attachment.setFileName(fileName);
}



//below I use a javax.mail.Transport to send it via email      
//mimeparts : new MimeBodyPart[]{attachment}

コードは正常に動作していましたが、この例外をスローし始めました:

    javax.mail.MessagingException: メッセージの送信中に IOException が発生しました。
      ネストされた例外は次のとおりです。
        java.io.FileNotFoundException: upload_file_name.zip (許可が拒否されました)
        com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:1141)
        javax.mail.Transport.send0(Transport.java:195)
        javax.mail.Transport.send(Transport.java:124)

 
4

0 に答える 0