Hướng dẫn javascript access files in directory - javascript truy cập các tệp trong thư mục

147

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Trang web của tôi đang phục vụ rất nhiều hình ảnh từ thư mục

var files = ;
3. Làm thế nào tôi có thể nhận được một danh sách các tệp trong thư mục đó với JavaScript?

Đã hỏi ngày 7 tháng 7 năm 2015 lúc 16:27Jul 7, 2015 at 16:27

7

Mã hiện tại sẽ đưa ra danh sách tất cả các tệp trong thư mục, giả sử nó ở phía máy chủ mà bạn muốn liệt kê tất cả các tệp:

var fs = require('fs');
var files = fs.readdirSync('/assets/photos/');

Đã trả lời ngày 7 tháng 7 năm 2015 lúc 16:32Jul 7, 2015 at 16:32

Hướng dẫn javascript access files in directory - javascript truy cập các tệp trong thư mục

9

Không, JavaScript không có quyền truy cập vào hệ thống tập tin. JavaScript phía máy chủ là một câu chuyện hoàn toàn khác nhưng tôi đoán bạn không có ý đó.

Đã trả lời ngày 7 tháng 7 năm 2015 lúc 16:35Jul 7, 2015 at 16:35

Hướng dẫn javascript access files in directory - javascript truy cập các tệp trong thư mục

SK.SK.SK.

3.9864 Huy hiệu vàng27 Huy hiệu bạc48 Huy hiệu đồng4 gold badges27 silver badges48 bronze badges

4

Tôi viết một tệp dir.phpdir.php

var files = ;

Trong tập lệnh của bạn thêm:


và sử dụng các tệp [] mảng

Đã trả lời ngày 27 tháng 12 năm 2017 lúc 10:42Dec 27, 2017 at 10:42

Hướng dẫn javascript access files in directory - javascript truy cập các tệp trong thư mục

IfthenelseifthenelseIfThenElse

4675 Huy hiệu bạc13 Huy hiệu Đồng5 silver badges13 bronze badges

5

Đối với các tệp phía máy khách, bạn không thể có một danh sách các tệp trong thư mục cục bộ của người dùng.

Nếu người dùng đã cung cấp các tệp đã tải lên, bạn có thể truy cập chúng thông qua phần tử

var files = ;
4 của họ.





Đã trả lời ngày 19 tháng 6 năm 2017 lúc 13:16Jun 19, 2017 at 13:16

NaltrocnaltrocNaltroc

9641 Huy hiệu vàng14 Huy hiệu bạc34 Huy hiệu đồng1 gold badge14 silver badges34 bronze badges

Để nhận danh sách các tên tệp trong một thư mục được chỉ định, bạn có thể sử dụng:

fs.readdir(directory_path, callback_function)

Điều này sẽ trả về một danh sách mà bạn có thể phân tích bằng cách lập chỉ mục danh sách đơn giản như

var files = ;
5, v.v.

double-beep

4.59613 Huy hiệu vàng 30 Huy hiệu bạc40 Huy hiệu đồng13 gold badges30 silver badges40 bronze badges

Đã trả lời ngày 5 tháng 3 năm 2019 lúc 17:39Mar 5, 2019 at 17:39

2

Tôi đã thực hiện một tuyến đường khác nhau cho mỗi tệp trong một thư mục cụ thể. Do đó, đi đến đường dẫn đó có nghĩa là mở tập tin đó.

function getroutes(list){
list.forEach(function(element) {
  app.get("/"+ element,  function(req, res) {
    res.sendFile(__dirname + "/public/extracted/" + element);
  });
});

Tôi đã gọi hàm này vượt qua danh sách tên tệp trong thư mục

var files = ;
6 và nó đã tạo ra một tuyến đường khác nhau cho mỗi tên tệp mà tôi có thể hiển thị ở phía máy chủ.

Đã trả lời ngày 13 tháng 10 năm 2019 lúc 19:25Oct 13, 2019 at 19:25

Tôi sử dụng các mục sau (mã bị tước xuống) trong Firefox 69.0 (trên Ubuntu) để đọc một thư mục và hiển thị hình ảnh như một phần của khung ảnh kỹ thuật số. Trang được tạo bằng HTML, CSS và JavaScript và nó được đặt trên cùng một máy nơi tôi chạy trình duyệt. Các hình ảnh cũng được đặt trên cùng một máy, vì vậy không có xem từ "bên ngoài".

var directory = ;
var xmlHttp = new XMLHttpRequest();
xmlHttp.open('GET', directory, false); // false for synchronous request
xmlHttp.send(null);
var ret = xmlHttp.responseText;
var fileList = ret.split('\n');
for (i = 0; i < fileList.length; i++) {
    var fileinfo = fileList[i].split(' ');
    if (fileinfo[0] == '201:') {
        document.write(fileinfo[1] + "
"); document.write('

2540625

10,5K8 Huy hiệu vàng47 Huy hiệu bạc54 Huy hiệu đồng8 gold badges47 silver badges54 bronze badges

Đã trả lời ngày 21 tháng 9 năm 2019 lúc 15:43Sep 21, 2019 at 15:43

2

Nếu bạn sử dụng Nginx, bạn có thể đặt

var files = ;
8, sau đó bạn yêu cầu URL, bạn có thể nhận tên tệp từ phản hồi.


Đã trả lời ngày 24 tháng 6 năm 2021 lúc 12:11Jun 24, 2021 at 12:11

0

Để kiểm tra một tệp cụ thể, bạn có thể thực hiện

var files = ;
9 và nó sẽ trả về giá trị boolean.

Đã trả lời ngày 6 tháng 8 lúc 21:06Aug 6 at 21:06

Như câu trả lời của những người khác cho thấy có vẻ như không thể ở phía khách hàng, vì vậy tôi đã giải quyết nó ở phía máy chủ như sau: phía máy khách của JS

get_file(conf.data_address).then(imgs => { // get_file is wrapper of fetch API
    let img = new Image();
    img.src = `./files/Blackpink/${imgs[0]}`; // e.g. load the first img 
    img.height = 40;
    return new Promise(resolve => {
      img.onload = () => {
        resolve(img);
      }
    })
  })

Phía máy chủ của Django:

def get(self, request): # get method
        address = request.query_params.get('address') # get the requested folder
        is_database = request.query_params.get('is_database')
        if address.endswith('/'):
            j = u.get_path_files(address,is_full=False) # wrapper of os.listdir of python to get the files in the requested directory.

Đã trả lời ngày 22 tháng 8 lúc 4:26Aug 22 at 4:26

Hướng dẫn javascript access files in directory - javascript truy cập các tệp trong thư mục

Áp dụng JSONP cho iftheelse Trả lời:

In /dir.php Viết như sau:

var files = ;
0

Trong index.html của bạn Thêm tập lệnh này:

var files = ;
1

Đã trả lời ngày 19 tháng 4 năm 2021 lúc 15:44Apr 19, 2021 at 15:44

Tôi hiểu rằng vấn đề đã cũ nhưng vẫn quay trở lại trong nhiều vấn đề. Đúng là về phía máy khách, bạn không thể liệt kê các tệp trong thư mục cục bộ bằng cách sử dụng JavaScript thuần túy. Dưới đây là một đoạn trích hoàn chỉnh sử dụng PHP và chuyển danh sách tệp với các tiện ích mở rộng cho JavaScript.

var files = ;
2

Đã trả lời ngày 6 tháng 5 lúc 5:43May 6 at 5:43

Hướng dẫn javascript access files in directory - javascript truy cập các tệp trong thư mục

JavaScript có thể truy cập các tệp không?

Trình duyệt web (và JavaScript) chỉ có thể truy cập các tệp cục bộ với quyền người dùng. Để chuẩn hóa quyền truy cập tệp từ trình duyệt, W3C đã xuất bản API tệp HTML5 vào năm 2014. Nó xác định cách truy cập và tải lên các tệp cục bộ với các đối tượng tệp trong các ứng dụng web.can only access local files with user permission. To standardize the file access from the browser, the W3C published the HTML5 File API in 2014. It defines how to access and upload local files with file objects in web applications.

Làm thế nào để bạn mở một tệp bằng JavaScript?

Cách mở một tập tin trong JavaScript..
Nhấp chuột phải vào tệp HTML bạn muốn sử dụng để mở tệp.Nhấp vào "Mở với", sau đó bấm đúp vào trình chỉnh sửa JavaScript ưa thích.....
Tạo chức năng JavaScript.....
Thêm chức năng vào nút "Duyệt" trên trang web.....
Lưu tệp và mở nó trong trình duyệt web mặc định của bạn ..

Bạn có thể nhận tất cả các tệp từ đường dẫn thư mục bằng cách sử dụng JavaScript thuần túy không?

Câu trả lời đơn giản là không, trong JS từ phía máy khách (trình duyệt) Không có cách trực tiếp nào để có được danh sách các tệp trong thư mục/thư mục ở phía máy chủ.No, in JS from client side(browser) there is no direct way to get list of files in a folder/directory on server side.

Làm cách nào để truy cập hệ thống tệp?

Truy cập hệ thống tệp Windows và quyền riêng tư..
Trong Windows 10, hãy chuyển đến START> Cài đặt> Quyền riêng tư> Hệ thống tệp ..
Trong Windows 11, hãy chuyển đến START> Cài đặt> Quyền riêng tư & Bảo mật> Hệ thống tệp ..