我只是编写一个代码,用于在MyEclipse上使用Java mail API发送邮件。对于附件我使用
<input type="file" name="attachment"/>
在MyEclipse上我的代码运行并且邮件已成功发送但如果我在浏览器上尝试过(例如mozila
,chrome
),则不会选择整个附件路径(例如:D:/newfolder/img.png
) ,仅选择了filename
(例如:img.png
)。
导致错误/例外:
java.io.FileNotFoundException: img.png (The system cannot find the file specified)
是否有其他方法可以附加或上传文件..?
答案 0 :(得分:0)
当您上传文件时,该文件将在POST请求中发送,您可以读取所有内容和文件名,但服务器将无法使用原始路径。
遵循HTML5的规范,默认情况下,某些浏览器会隐藏文件路径,特别是Internet Explorer 8+和某些版本的Mozilla Firefox。
这被视为浏览器的安全功能,但将相关网站添加到“可信站点”#34;浏览器配置中的列表将允许公开完整路径。
我发现了这个:barracuda
答案 1 :(得分:0)
我想你已经忘记了这个enctype="multipart/form-data"
<form action="upload_file.jsp" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="Submit">
</form>
答案 2 :(得分:0)
显然,您正在尝试在服务器上打开从客户端上传的文件。
您必须从请求中读取传入的字节,并将其保存在磁盘或数据库中的某个位置。
您看到的文件名严格来帮助您定义名称以将文件保存在服务器上。您无法通过直接读取路径来访问客户端文件。