導航:首頁 > 文件目錄 > js復制文件路徑

js復制文件路徑

發布時間:2023-07-01 17:38:06

javascript獲取剪切板中的文件路徑

現代瀏覽器基於安全考慮,js 是無法直接讀取剪貼板的。


唯一的可能性是,用戶在可編輯元素中(如contenteditable='true'
的 div)主動觸發粘貼操作(如,通過 ctrl+V)。此時通過監聽 paste 事件, 可以從event中獲取到用戶所粘貼的內容。


示例代碼(支持現代瀏覽器):

<divid='editableDiv'contenteditable='true'>Pastehere</div>
functionhandlePaste(e){
varclipboardData,pastedData;

//阻止粘貼
e.stopPropagation();
e.preventDefault();

//獲取剪貼板信息
clipboardData=e.clipboardData||window.clipboardData;
//獲取剪貼板內容,getData的參數是數據類型,這里為了獲取文件路徑是'URL';如果想獲取粘貼的文本,用'Text'
pastedData=clipboardData.getData('URL');

//處理信息,此時pastedData應該是'file:///path/to/xxx'
alert(pastedData);
}

document.getElementById('editableDiv').addEventListener('paste',handlePaste);



但是,與其費心思這樣做,為何不直接做成拖動上傳呢,應該更易於使用吧。



示例來源

http://stackoverflow.com/questions/2176861/javascript-get-clipboard-data-on-paste-event-cross-browser/2177059#2177059

❷ 有個javascript src路徑的問題,請各位大佬賜教

在你的jsp或者html文件中,如果涉及到引用其他資源文件時,用的路徑,如果是直接寫成你樣內例這種,就是絕對容路徑,比如
<script src="browser/main/a.js" />
如果帶有./或者../的,就是相對路徑,比如
<script src="../111.js" />
就是要引用當前這個文件上級目錄的111.js文件。
建議在一個工程中,需要引用的資源目錄,盡量使用絕對路徑,只要你不加.和/,就是工程主目錄下的絕對路徑,有利於整體規劃。
一旦你用了相對路徑,別人在看你代碼的時候,需要一層一層的去找,而且也不利於代碼的復制,一旦復制到別的地方,層次與你現在的不一樣,還得修改層次,增加.和/。

❸ nodejs命令行怎麼復制文件內容

首先需要引入fs模塊,這是nodejs自帶的。
var fs=require("fs");
具體可參考Nodejs API:http://www.w3cfuns.com/tools.php?mod=booknodejs
主要用到了兩個方法:
1、fs.readFile(filename, [encoding], [callback])
這是非同步讀取文件,filename是文件路徑,encoding是編碼格式,callback是回調函數。
非同步讀取一個文件的所有內容,例子如下:
fs.readFile('/etc/passwd', function (err, data) {
if (err) throw err;
console.log(data);
});
這里我使用的是本地測試文件:
function readFile(){
console.log('--------開始讀取文件--------');
var fs = require('fs');
fs.readFile('test.txt', 'utf-8', function(err, data) {
if (err) {
console.log("讀取失敗");
} else {
console.log(data);
return data;
}
});
console.log('--------讀取結束--------');
}
2、fs.writeFile(filename, data, encoding='utf8', [callback])
寫文件:
function writeFile(data){
fs.writeFile("test2.txt",data,function(error){
if(error){
throw error;
}else{
console.log("文件已保存");
}
});
}
錯誤代碼:File.js文件
var fs=require("fs");
function readFile(){
console.log('--------開始讀取文件--------');
var fs = require('fs');
fs.readFile('test.txt', 'utf-8', function(err, data) {
if (err) {
console.log("讀取失敗");
} else {
console.log(data);
return data;
}
});
console.log('--------讀取結束--------');
}
function writeFile(data){
fs.writeFile("test2.txt",data,function(error){
if(error){
throw error;
}else{
console.log("文件已保存");
}
});
}
function File(){
var txt=readFile();
writeFile(txt);
}
File();

❹ 如何用JS 獲取本地文件夾的文件列表

一、功能實現核心:FileSystemObject 對象
要在java-script中實現文件操作功能,主要就是依靠FileSystemobject對象。
二、FileSystemObject編程
使用FileSystemObject 對象進行編程很簡單,一般要經過如下的步驟: 創建FileSystemObject對象、應用相關方法、訪問對象相關屬性 。
(一)創建FileSystemObject對象
創建FileSystemObject對象的
代碼只要1行:
var fso = new ActiveXObject("Scripting.FileSystemObject");
上述代碼執行後,fso就成為一個FileSystemObject對象實例。
(二)應用相關方法
創建對象實例後,就可以使用對象的相關方法了。比如,使用CreateTextFile方法創建一個文本文件:
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f1 = fso.createtextfile("c:\\myjstest.txt",true");
(三)訪問對象相關屬性
要訪問對象的相關屬性,首先要建立指向對象的句柄,這就要通過get系列方法實現:GetDrive負責獲取驅動器信息,GetFolder負責獲取文件夾信息,GetFile負責獲取文件信息。比如,指向下面的代碼後,f1就成為指向文件c:\test.txt的句柄:
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f1 = fso.GetFile("c:\\myjstest.txt");
然後,使用f1訪問對象的相關屬性。比如:
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f1 = fso.GetFile("c:\\myjstest.txt");
alert("File last modified: " + f1.DateLastModified);
執行上面最後一句後,將顯示c:\myjstest.txt的最後修改日期屬性值。
但有一點請注意:對於使用create方法建立的對象,就不必再使用get方法獲取對象句柄了,這時直接使用create方法建立的句柄名稱就可以:
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f1 = fso.createtextfile("c:\\myjstest.txt",true");
alert("File last modified: " + f1.DateLastModified);
三、操作驅動器(Drives)
使用FileSystemObject對象來編程操作驅動器(Drives)和文件夾(Folders)很容易,這就象在Windows文件瀏覽器中對文件進行交互操作一樣,比如:拷貝、移動文件夾,獲取文件夾的屬性。
(一)Drives對象屬性
Drive對象負責收集系統中的物理或邏輯驅動器資源內容,它具有如下屬性:
l TotalSize:以位元組(byte)為單位計算的驅動器大小。
l AvailableSpace或FreeSpace:以位元組(byte)為單位計算的驅動器可用空間。
l DriveLetter:驅動器字母。
l DriveType:驅動器類型,取值為:removable(移動介質)、fixed(固定介質)、network(網路資源)、CD-ROM或者RAM盤。
l SerialNumber:驅動器的系列碼。
l FileSystem:所在驅動器的文件系統類型,取值為FAT、FAT32和NTFS。
l IsReady:驅動器是否可用。
l ShareName:共享名稱。
l VolumeName:卷標名稱。
l Path和RootFolder:驅動器的路徑或者根目錄名稱。
(二)Drive對象操作常式
下面的常式顯示驅動器C的卷標、總容量和可用空間等信息:
var fso, drv, s ="";
fso = new ActiveXObject("Scripting.FileSystemObject");
drv = fso.GetDrive(fso.GetDriveName("c:\\"));
s += "Drive C:" + " - ";
s += drv.VolumeName + "\n";
s += "Total Space: " + drv.TotalSize / 1024;
s += " Kb" + "\n";
s += "Free Space: " + drv.FreeSpace / 1024;
s += " Kb" + "\n";
alert(s);
四、操作文件夾(Folders)
涉及到文件夾的操作包括創建、移動、刪除以及獲取相關屬性。
Folder對象操作常式 :
下面的常式將練習獲取父文件夾名稱、創建文件夾、刪除文件夾、判斷是否為根目錄等操作:
var fso, fldr, s = "";
// 創建FileSystemObject對象實例
fso = new ActiveXObject("Scripting.FileSystemObject");
// 獲取Drive 對象
fldr = fso.GetFolder("c:\\");
// 顯示父目錄名稱
alert("Parent folder name is: " + fldr + "\n");
// 顯示所在drive名稱
alert("Contained on drive " + fldr.Drive + "\n");
// 判斷是否為根目錄
if (fldr.IsRootFolder)
alert("This is the root folder.");
else
alert("This folder isn't a root folder.");
alert("\n\n");
// 創建新文件夾
fso.CreateFolder ("C:\\Bogus");
alert("Created folder C:\\Bogus" + "\n");
// 顯示文件夾基礎名稱,不包含路徑名
alert("Basename = " + fso.GetBaseName("c:\\bogus") + "\n");
// 刪除創建的文件夾
fso.DeleteFolder ("C:\\Bogus");
alert("Deleted folder C:\\Bogus" + "\n");
五、操作文件(Files)
對文件進行的操作要比以上介紹的驅動器(Drive)和文件夾(Folder)操作復雜些,基本上分為以下兩個類別:對文件的創建、拷貝、移動、刪除操作和對文件內容的創建、添加、刪除和讀取操作。下面分別詳細介紹。
(一)創建文件
一共有3種方法可用於創建一個空文本文件,這種文件有時候也叫做文本流(text stream)。
第一種是使用CreateTextFile方法。代碼如下:
var fso, f1;
fso = new ActiveXObject("Scripting.FileSystemObject");
f1 = fso.CreateTextFile("c:\\testfile.txt", true);
第二種是使用OpenTextFile方法,並添加上ForWriting屬性,ForWriting的值為2。代碼如下:
var fso, ts;
var ForWriting= 2;
fso = new ActiveXObject("Scripting.FileSystemObject");
ts = fso.OpenTextFile("c:\\test.txt", ForWriting, true);
第三種是使用OpenAsTextStream方法,同樣要設置好ForWriting屬性。代碼如下:
var fso, f1, ts;
var ForWriting = 2;
fso = new ActiveXObject("Scripting.FileSystemObject");
fso.CreateTextFile ("c:\\test1.txt");
f1 = fso.GetFile("c:\\test1.txt");
ts = f1.OpenAsTextStream(ForWriting, true);
(二)添加數據到文件
當文件被創建後,一般要按照「打開文件->填寫數據->關閉文件」的步驟實現添加數據到文件的目的。
打開文件可使用FileSystemObject對象的OpenTextFile方法,或者使用File對象的OpenAsTextStream方法。
填寫數據要使用到TextStream對象的Write、WriteLine或者WriteBlankLines方法。在同是實現寫入數據的功能下,這3者的區別在於:Write方法不在寫入數據末尾添加新換行符,WriteLine方法要在最後添加一個新換行符,而WriteBlankLines則增加一個或者多個空行。
關閉文件可使用TextStream對象的Close方法。
(三)創建文件及添加數據常式
下面的代碼將創建文件、添加數據、關閉文件幾個步驟結合起來進行應用:
var fso, tf;
fso = new ActiveXObject("Scripting.FileSystemObject");
// 創建新文件
tf = fso.CreateTextFile("c:\\testfile.txt", true);
// 填寫數據,並增加換行符
tf.WriteLine("Testing 1, 2, 3.") ;
// 增加3個空行
tf.WriteBlankLines(3) ;
// 填寫一行,不帶換行符
tf.Write ("This is a test.");
// 關閉文件
tf.Close();
(四)讀取文件內容
從文本文件中讀取數據要使用TextStream對象的Read、ReadLine或ReadAll 方法。Read方法用於讀取文件中指定數量的字元; ReadLine方法讀取一整行,但不包括換行符;ReadAll方法則讀取文本文件的整個內容。讀取的內容存放於字元串變數中,用於顯示、分析。

方法或者屬性 描述
BuildPath()
生成一個文件路徑
CopyFile() 復制文件
CopyFolder() 復制目錄
CreateFolder() 創建新目錄
CreateTextFile() 生成一個文件
DeleteFile() 刪除一個文件
DeleteFolder() 刪除一個目錄
DriveExists() 檢驗盤符是否存在
Drives 返回盤符的集合
FileExists() 檢驗文件是否存在
FolderExists 檢驗一個目錄是否存在
GetAbsolutePathName() 取得一個文件的絕對路徑
GetBaseName() 取得文件名
GetDrive() 取得盤符名
GetDriveName() 取得盤符名
GetExtensionName() 取得文件的後綴
GetFile() 生成文件對象
GetFileName() 取得文件名
GetFolder() 取得目錄對象
GetParentFolderName 取得文件或目錄的父目錄名
GetSpecialFolder() 取得特殊的目錄名
GetTempName() 生成一個臨時文件對象
MoveFile() 移動文件
MoveFolder() 移動目錄
OpenTextFile() 打開一個文件流

f.Files //目錄下所有文件集合
f.attributes //文件屬性
Case 0 Str="普通文件。沒有設置任何屬性。 "
Case 1 Str="只讀文件。可讀寫。 "
Case 2 Str="隱藏文件。可讀寫。 "
Case 4 Str="系統文件。可讀寫。 "
Case 16 Str="文件夾或目錄。只讀。 "
Case 32 Str="上次備份後已更改的文件。可讀寫。 "
Case 1024 Str="鏈接或快捷方式。只讀。 "
Case 2048 Str=" 壓縮文件。只讀。"
f.Datecreated // 創建時間
f.DateLastAccessed //上次訪問時間
f.DateLastModified // 上次修改時間
f.Path //文件路徑
f.Name //文件名稱
f.Type //文件類型
f.Size // 文件大小(單位:位元組)
f.ParentFolder //父目錄
f.RootFolder // 根目錄

❺ Javascript讀取某文件夾下的所有文件

實例說明
BuildPath(路徑,文件名)
//這個方法會對給定的路徑加上文件,並自動加上分界符
<SCRIPT
LANGUAGE="JavaScript">
<!--
var
fso
=
new
ActiveXObject("Scripting.FileSystemObject");
var
newpath
=
fso.BuildPath("c:\\tmp",
"51js.txt");
//生成
c:\tmp\51js.txt的路徑
alert(newpath);
-->
</SCRIPT>
CopyFile(源文件,
目標文件,
覆蓋)
//復制源文件到目標文件,當覆蓋值為true時,如果目標文件存在會把文件覆蓋
<SCRIPT
LANGUAGE="JavaScript">
<!--
var
fso
=
new
ActiveXObject("Scripting.FileSystemObject");
var
newpath
=
fso.CopyFile("c:\\autoexec.bat",
"d:\\autoexec.bak");
-->
</SCRIPT>
CopyFolder(對象目錄,目標目錄
,覆蓋)
//復制對象目錄到目標目錄,當覆蓋為true時,如果目標目錄存在會把文件覆蓋
<SCRIPT
LANGUAGE="JavaScript">
<!--
var
fso
=
new
ActiveXObject("Scripting.FileSystemObject");
fso.CopyFolder("c:\\WINDOWS\\Desktop",
"d:\\");
//把C盤的Desktop目錄復制到D盤的根目錄
-->
</SCRIPT>
CreateFolder(目錄名)
//創建一個新的目錄
<SCRIPT
LANGUAGE="JavaScript">
<!--
var
fso
=
new
ActiveXObject("Scripting.FileSystemObject");
var
newFolderName
=
fso.CreateFolder("c:\\51JS");
//在C盤上創建一個51JS的目錄
-->
</SCRIPT>
CreateTextFile(文件名,
覆蓋)
//創建一個新的文件,如果此文件已經存在,你需要把覆蓋值定為true
<SCRIPT
LANGUAGE="JavaScript">
<!--
var
fso
=
new
ActiveXObject("Scripting.FileSystemObject");
var
newFileObject
=
fso.CreateTextFile("c:\\autoexec51JS.bat",
true);
//腳本將在C盤創建一個叫
autoexec51JS.bat的文件
-->
</SCRIPT>
DeleteFile(文件名,
只讀?)
//刪除一個文件,如果文件的屬性是只讀的話,你需要把只讀值設為true
<SCRIPT
LANGUAGE="JavaScript">
<!--
var
fso
=
new
ActiveXObject("Scripting.FileSystemObject");
//為了安全我先把要刪除的autoexec.bat備份到你的D盤
var
newpath
=
fso.CopyFile("c:\\autoexec.bat",
"d:\\autoexec.bat");
//把C盤的autoexec.bat文件刪除掉
fso.DeleteFile("c:\\autoexec.bat",
true);
-->
</SCRIPT>
DeleteFolder(文件名,
只讀?)//刪除一個目錄,如果目錄的屬性是只讀的話,你需要把只讀值設為true
<SCRIPT
LANGUAGE="JavaScript">
<!--
var
fso
=
new
ActiveXObject("Scripting.FileSystemObject");
fso.CopyFolder("c:\\WINDOWS\\Desktop",
"d:\\");
//為了安全我先把你C盤的Desktop目錄復制到你D盤的根目錄
fso.DeleteFolder("c:\\WINDOWS\\Desktop",
true);
//把你的Desktop目錄刪除,但因為desktop是系統的東西,所以不能全部刪除,但.........
-->
</SCRIPT>
DriveExists(盤符)
//檢查一個盤是否存在,如果存在就返會真,不存在就返回.......
<SCRIPT
LANGUAGE="JavaScript">
<!--
var
fso
=
new
ActiveXObject("Scripting.FileSystemObject");
hasDriveD
=
fso.DriveExists("d");
//檢查系統是否有D盤存在
hasDriveZ
=
fso.DriveExists("z");
//檢查系統是否有Z盤存在
if
(hasDriveD)
alert("你的系統內有一個D盤");
if
(!hasDriveZ)
alert("你的系統內沒有Z盤");
-->
</SCRIPT>
FileExists(文件名)
//檢查一個文件是否存在,如果存在就返會真,不存在就返回.......
<SCRIPT
LANGUAGE="JavaScript">
<!--
var
fso
=
new
ActiveXObject("Scripting.FileSystemObject");
fileName
=
fso.FileExists("c:\\autoexec.bat");
if
(fileName)
alert("你在C盤中有autoexec.bat文件,按下確定後這個文件將被刪除!");
//開個玩笑:)
-->
</SCRIPT>
FolderExists(目錄名)
//檢查一個目錄是否存在,如果存在就返會真,不存在就返回.......
<SCRIPT
LANGUAGE="JavaScript">
<!--
var
fso
=
new
ActiveXObject("Scripting.FileSystemObject");
folderName
=
fso.FolderExists("c:\\WINDOWS\\Fonts");
if
(folderName)
alert("按下確定後系統的字型檔將被刪除!");
//開個玩笑:)
-->
</SCRIPT>
GetAbsolutePathName(文件對象)
//返迴文件對象在系統的絕對路徑
<SCRIPT
LANGUAGE="JavaScript">
<!--
var
fso
=
new
ActiveXObject("Scripting.FileSystemObject");
pathName
=
fso.GetAbsolutePathName("c:\\autoexec.bat");
alert(pathName);
-->
</SCRIPT>
GetBaseName(文件對象)
//返迴文件對象的文件名
<SCRIPT
LANGUAGE="JavaScript">
<!--
var
fso
=
new
ActiveXObject("Scripting.FileSystemObject");
baseName
=
fso.GetBaseName("c:\\autoexec.bat");
//取得autoexec.bat的文件名autoexec
alert(baseName);
-->
</SCRIPT>
GetExtensionName(文件對象)
//文件的後綴
<SCRIPT
LANGUAGE="JavaScript">
<!--
var
fso
=
new
ActiveXObject("Scripting.FileSystemObject");
exName
=
fso.GetExtensionName("c:\\autoexec.bat");
//取得autoexec.bat後綴bat
alert(exName);
-->
</SCRIPT>
GetParentFolderName(文件對象)
//取得父級的目錄名
<SCRIPT
LANGUAGE="JavaScript">
<!--
var
fso
=
new
ActiveXObject("Scripting.FileSystemObject");
parentName
=
fso.GetParentFolderName("c:\\autoexec.bat");
//取得autoexec.bat的父級目錄C盤
alert(parentName);
-->
</SCRIPT>
GetSpecialFolder(目錄代碼)
//取得系統中一些特別的目錄的路徑,目錄代碼有3個分別是
0:安裝Window的目錄
1:系統文件目錄
2:臨時文件目錄
<SCRIPT
LANGUAGE="JavaScript">
<!--
var
fso
=
new
ActiveXObject("Scripting.FileSystemObject");
tmpFolder
=
fso.GetSpecialFolder(2);
//取得系統臨時文件目錄的路徑
如我的是
C:\windows\temp
alert(tmpFolder);
-->
</SCRIPT>
GetTempName()
//生成一個隨機的臨時文件對象,會以rad帶頭後面跟著些隨機數,就好象一些軟體在安裝時會生成*.tmp
<SCRIPT
LANGUAGE="JavaScript">
<!--
var
fso
=
new
ActiveXObject("Scripting.FileSystemObject");
tmpName
=
fso.GetTempName();
//我在測試時就生成了radDB70E.tmp
alert(tmpName);
-->
</SCRIPT>
MoveFile(源文件,
目標文件)
//把源文件移到目標文件的位置
<SCRIPT
LANGUAGE="JavaScript">
<!--
var
fso
=
new
ActiveXObject("Scripting.FileSystemObject");
var
newpath
=
fso.MoveFile("c:\\autoexec.bat",
"d:\\autoexec.bat");
//把C盤的autoexec.bat文件移移動到D盤
-->
</SCRIPT>

❻ js操作在瀏覽器端拷貝指定路徑圖片至選定的路徑下

var fso = new ActiveXObject("Scripting.FileSystemObject"); //創建文件操作抄對象
var file=fso.GetFile("c:\\testfile.txt");
file.Copy ("c:\\temp\\testfile.txt");
--------------------------------------------
上面的js代碼,實現了文件 c:\\testfile.txt--->c:\\temp\\testfile.txt的拷貝。
但是,由於IE安全限制,需要把瀏覽器的安全級別改一下,未簽名的activex--> 提示。
然後運行代碼時會彈出提示(大概意思是:要操作系統文件,可能有不安全因素),點擊是就ok了。

❼ JS實現內容復制功能

復制是一個使用頻率特別高的操作,在網頁中,一般可以選中要復制的內容,使用快捷鍵 ctrl+c 將內容復制到剪貼板。除了使用系統提供的快捷方式復制網頁內容,我們還可以用JS實現復制,這得益於document的 execCommand('') 命令。

實現整個復制功能,需要以下三個步驟:

大部分HTML元素都有innerText和innerHTML兩個屬性,innerText屬性返迴文本內容,innerHTML屬性返回標簽元素。我們可以創建一個函數,用於獲取需要返回的內容:

上面的selectText函數接收一個DOM元素,返回DOM元素的innerText屬性值。

我們可以通過表單元素的select()方法選中內容,表單元素因為textarea限制少於input,所以推薦使用textarea。我們可以動態創建一個textarea元素,將textarea的value屬性值設置為上面的innerText屬性值,再執行textarea的select方法選中。

上面實現了選中,下面就可以實現復制功能了。

最後一步就可以用execCommand('')實現復制了,它可以復制瀏覽器中選中的文本,比如說上面被textarea選中的文本,復制之後記得移除textarea。

第二步和第三步可以優化一下,創建一個函數,函數參數設置為第一步需要復制的文本,返回值為復制的結果。

完整JS示例如下:

可以將上面的完整JS示例寫入一個JS文件,將JS文件引入HTML中,通過JS點擊事件來執行復制函數。

效果圖:

❽ js拷貝文件到系統臨時目錄

用Java的File對象吧

❾ 如何用javascript操作本地文件

js被設計為沙箱式語言,理論上講是不應該去訪問本地文件系統的。
但是網上有訪問本地文回件的操作,是通過答ActiveXObject。但是這種寫法綁架了瀏覽器,跟IE綁死,所以建議你如果可以的話,最好不要存類似心思,而是通過其他後台邏輯傳送文件內容。

閱讀全文

與js復制文件路徑相關的資料

熱點內容
word轉換點陣圖 瀏覽:237
百度文件包含違規內容提取不了 瀏覽:317
大名網站推廣多少錢 瀏覽:791
喜歡網路詞都有什麼 瀏覽:811
怎麼設置iphone網路 瀏覽:281
cad坐標轉換圖文教程 瀏覽:397
蘋果12原裝數據線怎麼感覺有點硬 瀏覽:764
js獲取div中的圖片不顯示不出來 瀏覽:291
什麼網站有首映動漫 瀏覽:461
淘寶網路電話叫什麼 瀏覽:231
編程要讀哪些書 瀏覽:134
如何在手機上新建文件夾里添文件 瀏覽:292
先鋒w10刷安卓系統 瀏覽:787
java設置過期日期 瀏覽:114
新版本抖音怎麼看我的數據比例 瀏覽:946
什麼是3G網路3G的發展史 瀏覽:269
如何使用ps把圖片的文件大小弄小 瀏覽:880
安卓系統根目錄文件夾 瀏覽:900
手錶怎麼設置蜂窩網路 瀏覽:51
舊愛勾搭app還有嗎 瀏覽:141

友情鏈接