java附加文件没有完整的路径名

4jb9z9bj  于 2021-06-30  发布在  Java
关注(0)|答案(2)|浏览(341)

每当我试图在web浏览器(GoogleChrome或mozzila)中从html页面附加任何文件并发送到servlet时,我得到的只是文件名,而没有完整的路径。如果我把c盘上的任何文件作为附件,我就得不到它的完整地址。每当我尝试将此文件名发送到邮件服务器时,都会遇到一个异常:

Caused by: java.io.FileNotFoundException: Hello.txt (The system cannot find the file specified)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(Unknown Source)
    at javax.activation.FileDataSource.getInputStream(Unknown Source)
    at javax.activation.DataHandler.writeTo(Unknown Source)
    at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1381)
    at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:852)
    at javax.mail.internet.MimeMultipart.writeTo(MimeMultipart.java:452)
    at com.sun.mail.handlers.multipart_mixed.writeTo(multipart_mixed.java:98)
    at javax.activation.ObjectDataContentHandler.writeTo(Unknown Source)
    at javax.activation.DataHandler.writeTo(Unknown Source)
    at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1381)
    at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1742)
    at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:737)
    ... 18 more

我怎样才能解决这个问题?如何获得我上传文件的完整地址?

aor9mmx1

aor9mmx11#

切中要害:不应发送文件路径,但应发送文件内容。
假设我是服务器,在本地磁盘系统中有一个文件路径“c:/passwords.txt”,作为客户机,你能告诉我它的内容吗?

w3nuxt5m

w3nuxt5m2#

即使要获取完整路径,它也将是客户端计算机上的文件路径,而服务器无权访问该路径。
如果要将上载的文件存储在服务器上,则需要将上载的文件存储在本地服务器文件系统上,然后将其传递给javamail api。

相关问题