上传文件到文件服务器并在web页面显示

1 hostIP=192.168.100.10
2 loginUser=leorain
3 loginPwd=leorain
4 imagePath=images
 1 package com.usi.wxcm.common.util;
 2
 3
 4 import java.io.BufferedInputStream;
 5 import java.io.BufferedOutputStream;
 6 import java.io.File;
 7 import java.io.FileInputStream;
 8 import java.io.IOException;
 9 import java.io.InputStream;
10 import java.io.OutputStream;
11 import jcifs.smb.SmbFile;
12 import jcifs.smb.SmbFileInputStream;
13 import jcifs.smb.SmbFileOutputStream;
14 /**
15  * @author xiezhonggui
16  * */
17 public class SmbUtil {
18
19     /**
20      * 把文件上传到局域网共享文件下
21      * @param remoteUrl 共享电脑路径 如:smb//administrator:[email protected]/smb
22      * @param localFile File对象
23      * @param fileName 保存的文件名
24      */
25     public static String smbPut(String remoteUrl, File localFile, String fileName) throws IOException{
26         InputStream in = null;
27         OutputStream out = null;
28         String remoteFileName = null;
29           try {
30                // String fileName = localFile.getName();
31                 SmbFile remoteFile = new SmbFile(remoteUrl+File.separator+fileName);
32                 in = new BufferedInputStream(new FileInputStream(localFile));
33                 out = new BufferedOutputStream(new SmbFileOutputStream(remoteFile));
34                 byte []buffer = new byte[1024];
35                 while((in.read(buffer)) != -1){
36                     out.write(buffer);
37                     buffer = new byte[1024];
38                 }
39                 remoteFileName = remoteFile.getName();
40             } catch (Exception e) {
41                 e.printStackTrace();
42             }finally{
43                 try {
44                     out.close();
45                     in.close();
46                 } catch (IOException e) {
47                     e.printStackTrace();
48                 }
49
50             }
51          return remoteFileName;
52     }
53
54        /**
55         * 从文件服务器中读取图片文件输出到输出流中
56      * @param remoteUrl
57      * @param out
58      */
59     public static void smbGet(String remoteUrl,OutputStream out){
60             InputStream in = null;
61             try {
62                 SmbFile smbFile = new SmbFile(remoteUrl);
63                 in = new BufferedInputStream(new SmbFileInputStream(smbFile));
64                 byte []buffer = new byte[1024];
65                 while((in.read(buffer)) != -1){
66                     out.write(buffer);
67                     buffer = new byte[1024];
68                 }
69             } catch (Exception e) {
70                 e.printStackTrace();
71             }finally{
72                 try {
73                     out.flush();
74                     out.close();
75                     in.close();
76                 } catch (IOException e) {
77                     e.printStackTrace();
78                 }
79             }
80         }
81 }
 1 /**
 2  *
 3  */
 4
 5 import java.io.IOException;
 6 import java.io.InputStream;
 7 import java.util.Properties;
 8
 9 import javax.servlet.ServletOutputStream;
10 import javax.servlet.http.HttpServletResponse;
11
12 import org.apache.struts2.ServletActionContext;
13
14 import com.opensymphony.xwork2.ActionSupport;
15 import com.usi.wxcm.common.util.SmbUtil;
16
17 /**
18  * @author xiezhonggui
19  *
20  */
21 public class ImageAction extends ActionSupport {
22     /**
23      *
24      */
25     private static final long serialVersionUID = -6038904337360637857L;
26     private String remoteUrl;
27     public ImageAction(){
28         remoteUrl = loadProperty();
29     }
30     public String viewImages() throws IOException {
31             HttpServletResponse response = null;
32             ServletOutputStream out = null;
33             response = ServletActionContext.getResponse();
34             response.setContentType("multipart/form-data");
35             out = response.getOutputStream();
38             SmbUtil.smbGet(remoteUrl+"/Desert.jpg", out);
39             return null;
40     }
41
42     /**
43      * 加载配置文件
44      *
45      * */
46     private String loadProperty(){
47         String remoteUrl = null;
48         Properties prop = new Properties();
49         InputStream in = ImageAction.class.getResourceAsStream("/smbConfig.properties");
50         try {
51             prop.load(in);
52             String hostIP = prop.getProperty("hostIP").trim();
53             String loginUser = prop.getProperty("loginUser").trim();
54             String loginPwd = prop.getProperty("loginPwd").trim();
55             String imagePath = prop.getProperty("imagePath").trim();
56             remoteUrl = "smb://"+loginUser+":"+loginPwd+"@"+hostIP+"/"+imagePath;
57         } catch (IOException e) {
58             e.printStackTrace();
59         }
60         return remoteUrl;
61     }
62
63     public String getRemoteUrl() {
64         return remoteUrl;
65     }
66
67     public void setRemoteUrl(String remoteUrl) {
68         this.remoteUrl = remoteUrl;
69     };
70 }
时间: 2024-10-14 05:29:40

上传文件到文件服务器并在web页面显示的相关文章

JAVA代码实现上传文件至文件服务器(远程服务器、非项目当前所在服务器)

步骤一:添加依赖 <!--sftp文件上传--> <dependency> <groupId>com.jcraft</groupId> <artifactId>jsch</artifactId> <version>0.1.54</version> </dependency> 步骤二:编写工具类 package com.example.vue.vuedemo; import com.jcraft.js

Wince 6.0适用 .NET 使用HttpRequest的Post上传文件,服务端的Web API接收Post上传上来的文件 代码

//调用的示例 private string fileName = "InStorageData.csv"; string filePath = parentPath + CommonHelper.UPLOAD + "\\" + fileName;//文件的全路径含文件名称及扩展名 string strResult = CommonHelper.SendFile(filePath, new Uri(CommonHelper.strURL + "PostFo

我爱Java系列---【SpringMVC传统方式的文件上传和前端获取数据库图片在页面显示】

一.文件上传 说明:传统方式的文件上传,指的是我们上传的文件和访问的应用存在于同一台服务器上.并且上传完成之后,浏览器可能跳转. 1. 第一步:创建 maven 工程并导入 commons-fileupload 坐标 1 <dependency> 2 <groupId>commons-fileupload</groupId> 3 <artifactId>commons-fileupload</artifactId> 4 <version&g

上传文件.py

"""上传文件是比较常见的Web功能之一,但WebDriver并没有提供专门用于上传的方法,如何实现上传操作关键在于上传文件的思路.一般Web页面的上传功能的操作需要单击“上传”按钮后打开本地的Window窗口,从窗口中选择本地文件进行上传.而WebDriver是无法操作Windows控件的,所以,对于初学者来说,一般思路会卡在如何识别Window控件这个问题上.对于Web页面的上传功能实现一般有以下两种方式.·普通上传:普通的附件上传是将本地文件的路径作为一个值放在inpu

前端之web上传文件的方式

前端之web上传文件的方式 本节内容 web上传文件方式介绍 form上传文件 原生js实现ajax上传文件 jquery实现ajax上传文件 form+iframe构造请求上传文件 1. web上传文件方式介绍 在web浏览器上传文件一般有以下几种方式: form表单上传文件 原生js实现ajax上传文件 jquery实现ajax上传文件 form+iframe上传文件 其中form提交数据之后会整个刷新页面:js通过ajax上传文件虽然不会刷新整个页面,但是他们都是通过使用formdata对

C# 通用上传文件类

1.Upfile.aspx: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Upfile.aspx.cs" Inherits="Inc_Upfile" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or

使用jQuery.FileUpload插件和服Backload组件自定义上传文件夹

在零配置情况下,文件的上传文件夹是根目录下的Files文件夹,如何自定义文件的上传文件夹呢? □ 在web.config中配置 1: <configuration> 2: <configSections> 3: ... 4: <section name="backload" type="Backload.Configuration.BackloadSection, Backload, Version=1.9.3.1, Culture=neutra

HTML上传文件写法

来源于:http://www.cnblogs.com/SkySoot/p/3525139.html html 表单上传文件 一般处理程序由于没有 apsx 页面的整个模型和控件的创建周期,而比较有效率.这里写一个用 html 表单进行文件上传的示例. 1. 表单元素选用 <input type="file"> 控件. 2. form 表单需要设置 enctype="multipart/form-data" 属性,请求报文体中数据格式也由键值对更改为数据头

SpringMVC上传文件后返回文件服务器地址路径

先写一个表单: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"