jsp上传图片问题
我的客户端在我自己电脑上服务器在别人电脑我现在上传图片文件,把图片以二进制存入数据库~在前台选择本地图片后比如D:/test.jpg(我电脑上的路径)后台代码FileIn...
我的客户端在我自己电脑上 服务器在别人电脑
我现在上传图片文件,把图片以二进制存入数据库~
在前台 选择本地图片后 比如 D:/test.jpg (我电脑上的路径)
后台代码 FileInputStream str = new FileInputStream("D:/test.jpg");
就会提示找不到D:/test.jpg (是不是因为服务器端没有这个文件)
因为后台服务器不是当前使用的电脑~但是这个问题怎么解决呢~ 展开
我现在上传图片文件,把图片以二进制存入数据库~
在前台 选择本地图片后 比如 D:/test.jpg (我电脑上的路径)
后台代码 FileInputStream str = new FileInputStream("D:/test.jpg");
就会提示找不到D:/test.jpg (是不是因为服务器端没有这个文件)
因为后台服务器不是当前使用的电脑~但是这个问题怎么解决呢~ 展开
2个回答
展开全部
单纯的写个输入流也可以实现,
在
FileInputStream str = new FileInputStream("D:/test.jpg"); 之前加上如下创建文件的语句就行
File ff=new File("F:/bbb.jpp");
ff.createNewFile();
在
FileInputStream str = new FileInputStream("D:/test.jpg"); 之前加上如下创建文件的语句就行
File ff=new File("F:/bbb.jpp");
ff.createNewFile();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
JSP文件上传
用到组件:FileUpload组件,commons-fileupload-1.2.jar,commons-fileupload.jar,还有一个就是commons-io-1.3.1.jar
然后我们就可以上传文件了!!!
我的的网页可以这样写:(只写一个form)
<FORM action="FileUploadServlet" method="post" enctype="multipart/form-data" name="uploadform">
<INPUT type="file" name="uploadfile">
<INPUT type="submit" value="upload">
</FORM>
下面是它的Servlet处理
--------------------------------------------------------------------------------------------------------------------
response.setContentType("text/html");
PrintWriter out = response.getWriter();
//图片上传路径
uploadPath =request.getRealPath("/")+"upload/images/";
//图下临时上传路径
tempPath = request.getRealPath("/")+"upload/images/temp/";
//数据库中图片网络相对路径
String imagePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath()+"/";
//数据库中图片网络URL
String imageUrl=null;
//文件夹不存在就自动创建:
if(!new File(uploadPath).isDirectory())
new File(uploadPath).mkdirs();
if(!new File(tempPath).isDirectory())
new File(tempPath).mkdirs();
try {
DiskFileUpload fu = new DiskFileUpload();
// 设置最大文件尺寸,这里是4MB
fu.setSizeMax(4194304);
// 设置缓冲区大小,这里是4kb
fu.setSizeThreshold(4096);
// 设置临时目录:
fu.setRepositoryPath(tempPath);
// 得到所有的文件:
List fileItems = fu.parseRequest(request);
Iterator i = fileItems.iterator();
// 依次处理每一个文件:
while(i.hasNext()) {
FileItem file = (FileItem)i.next();
// 获得文件名,这个文件名是用户上传时用户的绝对路径:
String fileName = file.getName();
//看文件以什么结束
//System.out.println(fileName.endsWith(".gif"));
if(fileName!=null&&(fileName.endsWith(".jpg")||fileName.endsWith(".gif")||fileName.endsWith(".doc"))) {
// 在这里可以记录用户和文件信息
// 生成上传后的文件名
String filename=null;
Random rd = new Random();
Calendar time = Calendar.getInstance();
if(fileName.endsWith(".jpg")){
filename=String.valueOf(time.get(Calendar.YEAR))
+ String.valueOf(time.get(Calendar.MONTH))
+ String.valueOf(time.get(Calendar.DAY_OF_MONTH))
+ String.valueOf(time.get(Calendar.HOUR_OF_DAY))
+ String.valueOf(time.get(Calendar.MINUTE))
+ String.valueOf(time.get(Calendar.SECOND))
+ String.valueOf(rd.nextInt(100)) + ".jpg";
}else if(fileName.endsWith(".gif")){
filename=String.valueOf(time.get(Calendar.YEAR))
+ String.valueOf(time.get(Calendar.MONTH))
+ String.valueOf(time.get(Calendar.DAY_OF_MONTH))
+ String.valueOf(time.get(Calendar.HOUR_OF_DAY))
+ String.valueOf(time.get(Calendar.MINUTE))
+ String.valueOf(time.get(Calendar.SECOND))
+ String.valueOf(rd.nextInt(100)) + ".gif";
}else{
filename=String.valueOf(time.get(Calendar.YEAR))
+ String.valueOf(time.get(Calendar.MONTH))
+ String.valueOf(time.get(Calendar.DAY_OF_MONTH))
+ String.valueOf(time.get(Calendar.HOUR_OF_DAY))
+ String.valueOf(time.get(Calendar.MINUTE))
+ String.valueOf(time.get(Calendar.SECOND))
+ String.valueOf(rd.nextInt(100)) + ".doc";
}
File f1=new File(uploadPath+filename);
//打印相对路径
//System.out.print(f1.getAbsolutePath());
//数据库中存储图片路径为: http://127.0.0.1:8080/MailSend/upload/images/1.jpg
imageUrl=imagePath+"uploadPath"+"随机生成文件名";
//将路径写入到数据库
file.write(f1);
out.print("success!") ;
//System.out.println(fileName+"成功上传!");
}else{
out.println("上传文件出错,只能上传 *.jpg , *.gif , *.doc");
}
}
// 跳转到上传成功提示页面
}
catch(Exception e) {
// 可以跳转出错页面
}
out.flush();
out.close();
--------------------------------------------------------------------------------------------------------------------
用到组件:FileUpload组件,commons-fileupload-1.2.jar,commons-fileupload.jar,还有一个就是commons-io-1.3.1.jar
然后我们就可以上传文件了!!!
我的的网页可以这样写:(只写一个form)
<FORM action="FileUploadServlet" method="post" enctype="multipart/form-data" name="uploadform">
<INPUT type="file" name="uploadfile">
<INPUT type="submit" value="upload">
</FORM>
下面是它的Servlet处理
--------------------------------------------------------------------------------------------------------------------
response.setContentType("text/html");
PrintWriter out = response.getWriter();
//图片上传路径
uploadPath =request.getRealPath("/")+"upload/images/";
//图下临时上传路径
tempPath = request.getRealPath("/")+"upload/images/temp/";
//数据库中图片网络相对路径
String imagePath=request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+request.getContextPath()+"/";
//数据库中图片网络URL
String imageUrl=null;
//文件夹不存在就自动创建:
if(!new File(uploadPath).isDirectory())
new File(uploadPath).mkdirs();
if(!new File(tempPath).isDirectory())
new File(tempPath).mkdirs();
try {
DiskFileUpload fu = new DiskFileUpload();
// 设置最大文件尺寸,这里是4MB
fu.setSizeMax(4194304);
// 设置缓冲区大小,这里是4kb
fu.setSizeThreshold(4096);
// 设置临时目录:
fu.setRepositoryPath(tempPath);
// 得到所有的文件:
List fileItems = fu.parseRequest(request);
Iterator i = fileItems.iterator();
// 依次处理每一个文件:
while(i.hasNext()) {
FileItem file = (FileItem)i.next();
// 获得文件名,这个文件名是用户上传时用户的绝对路径:
String fileName = file.getName();
//看文件以什么结束
//System.out.println(fileName.endsWith(".gif"));
if(fileName!=null&&(fileName.endsWith(".jpg")||fileName.endsWith(".gif")||fileName.endsWith(".doc"))) {
// 在这里可以记录用户和文件信息
// 生成上传后的文件名
String filename=null;
Random rd = new Random();
Calendar time = Calendar.getInstance();
if(fileName.endsWith(".jpg")){
filename=String.valueOf(time.get(Calendar.YEAR))
+ String.valueOf(time.get(Calendar.MONTH))
+ String.valueOf(time.get(Calendar.DAY_OF_MONTH))
+ String.valueOf(time.get(Calendar.HOUR_OF_DAY))
+ String.valueOf(time.get(Calendar.MINUTE))
+ String.valueOf(time.get(Calendar.SECOND))
+ String.valueOf(rd.nextInt(100)) + ".jpg";
}else if(fileName.endsWith(".gif")){
filename=String.valueOf(time.get(Calendar.YEAR))
+ String.valueOf(time.get(Calendar.MONTH))
+ String.valueOf(time.get(Calendar.DAY_OF_MONTH))
+ String.valueOf(time.get(Calendar.HOUR_OF_DAY))
+ String.valueOf(time.get(Calendar.MINUTE))
+ String.valueOf(time.get(Calendar.SECOND))
+ String.valueOf(rd.nextInt(100)) + ".gif";
}else{
filename=String.valueOf(time.get(Calendar.YEAR))
+ String.valueOf(time.get(Calendar.MONTH))
+ String.valueOf(time.get(Calendar.DAY_OF_MONTH))
+ String.valueOf(time.get(Calendar.HOUR_OF_DAY))
+ String.valueOf(time.get(Calendar.MINUTE))
+ String.valueOf(time.get(Calendar.SECOND))
+ String.valueOf(rd.nextInt(100)) + ".doc";
}
File f1=new File(uploadPath+filename);
//打印相对路径
//System.out.print(f1.getAbsolutePath());
//数据库中存储图片路径为: http://127.0.0.1:8080/MailSend/upload/images/1.jpg
imageUrl=imagePath+"uploadPath"+"随机生成文件名";
//将路径写入到数据库
file.write(f1);
out.print("success!") ;
//System.out.println(fileName+"成功上传!");
}else{
out.println("上传文件出错,只能上传 *.jpg , *.gif , *.doc");
}
}
// 跳转到上传成功提示页面
}
catch(Exception e) {
// 可以跳转出错页面
}
out.flush();
out.close();
--------------------------------------------------------------------------------------------------------------------
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询