① 在一個web頁面上怎麼調用一台文件伺服器的
用映射驅動器實現共享
在區域網上,要訪問一個共享的驅動器或文件夾,只要在桌面上打開「網上鄰居」窗口,然後選擇有共享資源的計算機即可,但是,此法使用起來效果並不是很好,有時還不能解決實際問題,因此人們通常採用將驅動器符映射到共享資源的方法。
映射以後,只要你的ASP.NET用戶有讀取這個文件夾的許可權, 代碼實現上就跟讀本地一樣了.
② javaweb 怎麼樣將本地文件傳輸到遠程伺服器
可以通過JDK自帶的API實現,如下代碼:
package com.cloudpower.util;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import sun.net.TelnetInputStream;
import sun.net.TelnetOutputStream;
import sun.net.ftp.FtpClient;
/**
* Java自帶的API對FTP的操作
* @Title:Ftp.java
*/
public class Ftp {
/**
* 本地文件名
*/
private String localfilename;
/**
* 遠程文件名
*/
private String remotefilename;
/**
* FTP客戶端
*/
private FtpClient ftpClient;
/**
* 伺服器連接
* @param ip 伺服器IP
* @param port 伺服器埠
* @param user 用戶名
* @param password 密碼
* @param path 伺服器路徑
* @date 2012-7-11
*/
public void connectServer(String ip, int port, String user,
String password, String path) {
try {
/* ******連接伺服器的兩種方法*******/
//第一種方法
// ftpClient = new FtpClient();
// ftpClient.openServer(ip, port);
//第二種方法
ftpClient = new FtpClient(ip);
ftpClient.login(user, password);
// 設置成2進制傳輸
ftpClient.binary();
System.out.println("login success!");
if (path.length() != 0){
//把遠程系統上的目錄切換到參數path所指定的目錄
ftpClient.cd(path);
}
ftpClient.binary();
} catch (IOException ex) {
ex.printStackTrace();
throw new RuntimeException(ex);
}
}
public void closeConnect() {
try {
ftpClient.closeServer();
System.out.println("disconnect success");
} catch (IOException ex) {
System.out.println("not disconnect");
ex.printStackTrace();
throw new RuntimeException(ex);
}
}
public void upload(String localFile, String remoteFile) {
this.localfilename = localFile;
this.remotefilename = remoteFile;
TelnetOutputStream os = null;
FileInputStream is = null;
try {
//將遠程文件加入輸出流中
os = ftpClient.put(this.remotefilename);
//獲取本地文件的輸入流
File file_in = new File(this.localfilename);
is = new FileInputStream(file_in);
//創建一個緩沖區
byte[] bytes = new byte[1024];
int c;
while ((c = is.read(bytes)) != -1) {
os.write(bytes, 0, c);
}
System.out.println("upload success");
} catch (IOException ex) {
System.out.println("not upload");
ex.printStackTrace();
throw new RuntimeException(ex);
} finally{
try {
if(is != null){
is.close();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if(os != null){
os.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public void download(String remoteFile, String localFile) {
TelnetInputStream is = null;
FileOutputStream os = null;
try {
//獲取遠程機器上的文件filename,藉助TelnetInputStream把該文件傳送到本地。
is = ftpClient.get(remoteFile);
File file_in = new File(localFile);
os = new FileOutputStream(file_in);
byte[] bytes = new byte[1024];
int c;
while ((c = is.read(bytes)) != -1) {
os.write(bytes, 0, c);
}
System.out.println("download success");
} catch (IOException ex) {
System.out.println("not download");
ex.printStackTrace();
throw new RuntimeException(ex);
} finally{
try {
if(is != null){
is.close();
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if(os != null){
os.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
public static void main(String agrs[]) {
String filepath[] = { "/temp/aa.txt", "/temp/regist.log"};
String localfilepath[] = { "C:\\tmp\\1.txt","C:\\tmp\\2.log"};
Ftp fu = new Ftp();
/*
* 使用默認的埠號、用戶名、密碼以及根目錄連接FTP伺服器
*/
fu.connectServer("127.0.0.1", 22, "anonymous", "IEUser@", "/temp");
//下載
for (int i = 0; i < filepath.length; i++) {
fu.download(filepath[i], localfilepath[i]);
}
String localfile = "E:\\號碼.txt";
String remotefile = "/temp/哈哈.txt";
//上傳
fu.upload(localfile, remotefile);
fu.closeConnect();
}
}
③ web如何直接打開一個excel文檔並可以使用
web直接打開一個excel文檔並可以使用方法如下:
安裝Office以後,有一個ActiveX控制項被安
裝到了系統中,這個控制項位於「Program Files\Microsoft
Office\OFFICE11\owssupp.dll」。通過這個控制項,客戶端頁面上的java
script就可以激活本地的Office軟體,來實現打開、編輯Office(Word,Excel)文檔。(另,Office
XP應該就已經包含這個ActiveX控制項了。)
首先,用Script創建一個本地的對象:
openDocObj = new ActiveXObject("SharePoint.OpenDocuments.2"); // 為了兼容Office XP,可以創建「SharePoint.OpenDocuments.1」
然後,調用openDocObj的相應的方法。比如打開伺服器上的一個Office文檔:
openDocObj.ViewDocument("http://www.dzwebs.net/sample.doc");
openDocObj對象會根據參數中不同的Office文檔類型(.doc、.xls、.ppt)來打開不同的程序(Word、Excel、PowerPoint)。ViewDocument()方法還有一個重載簽名,可以讓我們手工指定激活哪個程序來打開文檔:
openDocObj.ViewDocument("http://www.dzwebs.net/sample.doc", 要激活的程序的ProgID);
那麼要打開Office程序在線編輯文件又如何?
openDocObj.EditDocument("http://www.dzwebs.net/sample.doc");
就
可以直接激活Word,在Word裡面編輯文檔,然後直接點擊Word裡面的保存功能,就可以將文件保存會伺服器上了。注意:為了讓Word能將編輯後的
文檔直接保存會伺服器,訪問Web站點的當前上下文的Windows
Identity必須對伺服器的相應目錄(即「http://www.abc.com/documents」這個虛擬目錄所對應的伺服器上的物理路徑)有
相應的寫許可權,否則保存動作會失敗。編輯完成後,EditDocument()會返回一個bool值,來反映編輯操作是否成功。
我們還可以通過打開伺服器上的一個文檔模版,來創建一個新的文檔:
openDocObj.CreateNewDocument("http://www.dzwebs.net/sampleTemplate.dot", "http://www.dzwebs.net/documents/");
就
可以使用「http://www.dzwebs.net/sampleTemplate.dot」這個模版來創建一個新的文檔,默認新文檔的保存地點是
「http://www.dzwebs.net/documents/」。創建新文檔時使用的程序取決於模版文件的類型(比如.dot模版會對應
Word)。新文檔的保存同樣需要注意許可權問題。CreateNewDocument()方法同樣會返回一個bool值來反映操作是否成功。
CreateNewDocument()方法的第一個參數,除了可以使用一個模版的地址外,還可以直接指定為希望用來創建新文檔的客戶端程序的ProgID。
應用實例:
<Script Language="java script">
function OpenWord()
{
var openDocObj;
openDocObj = new ActiveXObject("SharePoint.OpenDocuments.1");
openDocObj.ViewDocument("http://www.dzwebs.net/document/shouce.doc");
}
</script>
<input type="button" name="button" value="shouce" onclick="OpenWord()">
④ java web怎麼實現文件上傳到伺服器
/**
* 上傳到本地
* @param uploadFile
* @param request
* @return
*/
@RequestMapping("/upload")
@ResponseBody
public Map<String, Object> uploadApkFile(@RequestParam("uploadUpdateHistoryName") MultipartFile uploadFile,
HttpServletRequest request) {
Map<String, Object> map = new HashMap<>();
// 上傳文件校驗,包括上傳文件是否為空、文件名稱是否為空、文件格式是否為APK。
if (uploadFile == null) {
map.put("error", 1);
map.put("msg", "上傳文件不能為空");
return map;
}
String originalFilename = uploadFile.getOriginalFilename();
if (StringUtils.isEmpty(originalFilename)) {
map.put("error", 1);
map.put("msg", "上傳文件名稱不能為空");
return map;
}
String extName = originalFilename.substring(originalFilename.lastIndexOf(".") + 1);
if (extName.toUpperCase().indexOf("APK") < 0) {
map.put("error", 1);
map.put("msg", "上傳文件格式必須為APK");
return map;
}
String path = request.getSession().getServletContext().getRealPath("upload");
String fileName = uploadFile.getOriginalFilename();
File targetFile = new File(path, fileName);
if (!targetFile.exists()) {
targetFile.mkdirs();
}
// 保存
String downLoadUrl = null;
try {
uploadFile.transferTo(targetFile);
downLoadUrl = request.getContextPath() + "/upload/" + fileName;
map.put("error", 0);
map.put("downLoadUrl", downLoadUrl);
map.put("msg", "上傳文件成功");
return map;
} catch (Exception e) {
e.printStackTrace();
map.put("error", 1);
map.put("msg", "上傳文件失敗");
return map;
}
}
//上傳文件
$('#btnUpload').bind('click',function(){
// var formdata= $('#uploadForm').serializeJSON();
var formdata = new FormData($( "#uploadForm" )[0]);
$.ajax({
url:"upload.do",
data:formdata,
async: false,
cache: false,
processData:false,
contentType:false,
// dataType:'json',
type:'post',
success:function(value){
if(value.error==0){
$('#downLoadUrlId').val(value.downLoadUrl);
$.messager.alert('提示',value.msg);
$('#uploadWindow').window('close');
}else{
$.messager.alert('提示',value.msg);
}
}
});
});
<div id="uploadWindow" class="easyui-window" title="apk上傳"
style="width: 230px;height: 100px" data-options="closed:true">
<form id="uploadForm" enctype="multipart/form-data">
<td><input type ="file" style="width:200px;" name = "uploadUpdateHistoryName"></td>
</form>
<button id="btnUpload" type="button">上傳Apk</button>
</div>
java js html
⑤ 如何將文件上傳至域名指向的Web伺服器(或虛擬主機)的根目錄
用FTP軟體,例如flashfxp,
連接到你網站的根目錄,直接傳上去即可。就可以訪問。