Nguyễn Trần Đại @daint2dev
Theo dõi
825 21 18
Đã đăng vào ngày 18 tháng 2 năm 2020 4. 40 CH 3 phút đọc
2. 2K
4
6
[Pure Javascript] Xem trước tệp trước khi tải lên- Report
- Add to series of me
Bài đăng này đã không được cập nhật trong 2 năm
Chào anh năm mới nhé
Một vài kiến thức cần biết
- Javascript [tất nhiên rồi]
- Html
Môi trường sẽ demo
- Cửa sổ 10
- Mã phòng thu trực quan 1. 41. 1
- Google Chrome80. 0. 3987. 106
Với việc xem trước file ảnh mình sẽ thường dùng 2 cách sau
- FileReader [Web API] thường được sử dụng để đọc nội dung của các tệp được lưu trữ trên máy tính của người dùng thông qua thao tác với các đối tượng
4 hoặcconst req = new XMLHttpRequest[]; req.open["GET", "/myfile.png", true]; req.responseType = "blob"; req.onload = [event] => { const blob = req.response; // ... }; oReq.send[];
5const req = new XMLHttpRequest[]; req.open["GET", "/myfile.png", true]; req.responseType = "blob"; req.onload = [event] => { const blob = req.response; // ... }; oReq.send[];
- cửa sổ. URL [API Web] và các phương thức tĩnh của nó để thao tác với các đối tượng
4 hoặcconst req = new XMLHttpRequest[]; req.open["GET", "/myfile.png", true]; req.responseType = "blob"; req.onload = [event] => { const blob = req.response; // ... }; oReq.send[];
5const req = new XMLHttpRequest[]; req.open["GET", "/myfile.png", true]; req.responseType = "blob"; req.onload = [event] => { const blob = req.response; // ... }; oReq.send[];
Use FileReader
1. Trước tiên ta cần tạo 1 vài đoạn HTML
Với những phương thức trên ta hoàn toàn có thể làm được nhiều hơn nữa. Học tập sẽ không bao giờ có điểm dừng nhỉ
Cảm ơn anh đã đọc bài viết này. Chúc anh em thành công nhé
Repo tại đây
dom JavaScript HTML web api
Đã đăng ký Bản quyền
- Report
- Add to series of me
Nguyễn Trần Đại @daint2dev
Theo dõi
825 21 18
Đã đăng vào ngày 18 tháng 2 năm 2020 4. 40 CH 3 phút đọc
2. 2K
4
6
[Pure Javascript] Xem trước tệp trước khi tải lên- Report
- Add to series of me
Bài đăng này đã không được cập nhật trong 2 năm
Chào anh năm mới nhé
Một vài kiến thức cần biết
- Javascript [tất nhiên rồi]
- Html
Môi trường sẽ demo
- Cửa sổ 10
- Mã phòng thu trực quan 1. 41. 1
- Google Chrome80. 0. 3987. 106
Với việc xem trước file ảnh mình sẽ thường dùng 2 cách sau
- FileReader [Web API] thường được sử dụng để đọc nội dung của các tệp được lưu trữ trên máy tính của người dùng thông qua thao tác với các đối tượng
4 hoặcconst req = new XMLHttpRequest[]; req.open["GET", "/myfile.png", true]; req.responseType = "blob"; req.onload = [event] => { const blob = req.response; // ... }; oReq.send[];
5const req = new XMLHttpRequest[]; req.open["GET", "/myfile.png", true]; req.responseType = "blob"; req.onload = [event] => { const blob = req.response; // ... }; oReq.send[];
- cửa sổ. URL [API Web] và các phương thức tĩnh của nó để thao tác với các đối tượng
4 hoặcconst req = new XMLHttpRequest[]; req.open["GET", "/myfile.png", true]; req.responseType = "blob"; req.onload = [event] => { const blob = req.response; // ... }; oReq.send[];
5const req = new XMLHttpRequest[]; req.open["GET", "/myfile.png", true]; req.responseType = "blob"; req.onload = [event] => { const blob = req.response; // ... }; oReq.send[];
Use FileReader
1. Trước tiên ta cần tạo 1 vài đoạn HTML
Với những phương thức trên ta hoàn toàn có thể làm được nhiều hơn nữa. Học tập sẽ không bao giờ có điểm dừng nhỉ
Cảm ơn anh đã đọc bài viết này. Chúc anh em thành công nhé
Repo tại đây
dom JavaScript HTML web api
Đã đăng ký Bản quyền
- Report
- Add to series of me
Thuộc tính
const req = new XMLHttpRequest[];
req.open["GET", "/myfile.png", true];
req.responseType = "blob";
req.onload = [event] => {
const blob = req.response;
// ...
};
oReq.send[];
2 của đối tượng XMLHttpRequest có thể được đặt để thay đổi loại phản hồi dự kiến từ máy chủ. Các giá trị có thể là chuỗi rỗng [mặc định], const req = new XMLHttpRequest[];
req.open["GET", "/myfile.png", true];
req.responseType = "blob";
req.onload = [event] => {
const blob = req.response;
// ...
};
oReq.send[];
3, const req = new XMLHttpRequest[];
req.open["GET", "/myfile.png", true];
req.responseType = "blob";
req.onload = [event] => {
const blob = req.response;
// ...
};
oReq.send[];
4, const req = new XMLHttpRequest[];
req.open["GET", "/myfile.png", true];
req.responseType = "blob";
req.onload = [event] => {
const blob = req.response;
// ...
};
oReq.send[];
5, const req = new XMLHttpRequest[];
req.open["GET", "/myfile.png", true];
req.responseType = "blob";
req.onload = [event] => {
const blob = req.response;
// ...
};
oReq.send[];
0 và const req = new XMLHttpRequest[];
req.open["GET", "/myfile.png", true];
req.responseType = "blob";
req.onload = [event] => {
const blob = req.response;
// ...
};
oReq.send[];
1. Thuộc tính const req = new XMLHttpRequest[];
req.open["GET", "/myfile.png", true];
req.responseType = "blob";
req.onload = [event] => {
const blob = req.response;
// ...
};
oReq.send[];
2 sẽ chứa phần thân của thực thể theo const req = new XMLHttpRequest[];
req.open["GET", "/myfile.png", true];
req.responseType = "blob";
req.onload = [event] => {
const blob = req.response;
// ...
};
oReq.send[];
2, dưới dạng const req = new XMLHttpRequest[];
req.open["GET", "/myfile.png", true];
req.responseType = "blob";
req.onload = [event] => {
const blob = req.response;
// ...
};
oReq.send[];
4, const req = new XMLHttpRequest[];
req.open["GET", "/myfile.png", true];
req.responseType = "blob";
req.onload = [event] => {
const blob = req.response;
// ...
};
oReq.send[];
5, const req = new XMLHttpRequest[];
req.open["GET", "/myfile.png", true];
req.responseType = "blob";
req.onload = [event] => {
const blob = req.response;
// ...
};
oReq.send[];
6, const req = new XMLHttpRequest[];
req.open["GET", "/myfile.png", true];
req.responseType = "blob";
req.onload = [event] => {
const blob = req.response;
// ...
};
oReq.send[];
7 hoặc chuỗi. Đây là const req = new XMLHttpRequest[];
req.open["GET", "/myfile.png", true];
req.responseType = "blob";
req.onload = [event] => {
const blob = req.response;
// ...
};
oReq.send[];
8 nếu yêu cầu không hoàn thành hoặc không thành côngVí dụ này đọc một hình ảnh dưới dạng tệp nhị phân và tạo một mảng số nguyên không dấu 8 bit từ các byte thô. Lưu ý rằng điều này sẽ không giải mã hình ảnh và đọc các pixel. Bạn sẽ cần một thư viện giải mã png cho điều đó
________số 8
Bạn cũng có thể đọc tệp nhị phân dưới dạng
const req = new XMLHttpRequest[];
req.open["GET", "/myfile.png", true];
req.responseType = "blob";
req.onload = [event] => {
const blob = req.response;
// ...
};
oReq.send[];
5 bằng cách đặt chuỗi const req = new XMLHttpRequest[];
req.open["GET", "/myfile.png", true];
req.responseType = "blob";
req.onload = [event] => {
const blob = req.response;
// ...
};
oReq.send[];
4 thành thuộc tính const req = new XMLHttpRequest[];
req.open["GET", "/myfile.png", true];
req.responseType = "blob";
req.onload = [event] => {
const blob = req.response;
// ...
};
oReq.send[];
2const req = new XMLHttpRequest[];
req.open["GET", "/myfile.png", true];
req.responseType = "blob";
req.onload = [event] => {
const blob = req.response;
// ...
};
oReq.send[];
Nhận dữ liệu nhị phân trong các trình duyệt cũ hơn
Hàm
const req = new XMLHttpRequest[];
req.open["GET", "/myfile.png", true];
req.responseType = "blob";
req.onload = [event] => {
const blob = req.response;
// ...
};
oReq.send[];
12 hiển thị bên dưới tải dữ liệu nhị phân từ URL đã chỉ định, trả lại cho người gọiconst req = new XMLHttpRequest[];
req.open["GET", "/myfile.png", true];
req.responseType = "blob";
req.onload = [event] => {
const blob = req.response;
// ...
};
oReq.send[];
1Điều kỳ diệu xảy ra ở dòng 5, ghi đè loại MIME, buộc trình duyệt coi nó là văn bản thuần túy, sử dụng bộ ký tự do người dùng xác định. Điều này yêu cầu trình duyệt không phân tích cú pháp và để các byte đi qua chưa được xử lý
const req = new XMLHttpRequest[];
req.open["GET", "/myfile.png", true];
req.responseType = "blob";
req.onload = [event] => {
const blob = req.response;
// ...
};
oReq.send[];
3Ví dụ trên tìm nạp byte tại offset
const req = new XMLHttpRequest[];
req.open["GET", "/myfile.png", true];
req.responseType = "blob";
req.onload = [event] => {
const blob = req.response;
// ...
};
oReq.send[];
13 trong dữ liệu nhị phân đã tải. Phạm vi hợp lệ cho const req = new XMLHttpRequest[];
req.open["GET", "/myfile.png", true];
req.responseType = "blob";
req.onload = [event] => {
const blob = req.response;
// ...
};
oReq.send[];
13 là từ 0 đến const req = new XMLHttpRequest[];
req.open["GET", "/myfile.png", true];
req.responseType = "blob";
req.onload = [event] => {
const blob = req.response;
// ...
};
oReq.send[];
15Xem tải xuống các luồng nhị phân bằng XMLHttpRequest để được giải thích chi tiết. Xem thêm tải tập tin
Gửi dữ liệu nhị phân
Phương thức
const req = new XMLHttpRequest[];
req.open["GET", "/myfile.png", true];
req.responseType = "blob";
req.onload = [event] => {
const blob = req.response;
// ...
};
oReq.send[];
16 của XMLHttpRequest đã được mở rộng để cho phép truyền dữ liệu nhị phân dễ dàng bằng cách chấp nhận một đối tượng const req = new XMLHttpRequest[];
req.open["GET", "/myfile.png", true];
req.responseType = "blob";
req.onload = [event] => {
const blob = req.response;
// ...
};
oReq.send[];
4, const req = new XMLHttpRequest[];
req.open["GET", "/myfile.png", true];
req.responseType = "blob";
req.onload = [event] => {
const blob = req.response;
// ...
};
oReq.send[];
5 hoặc const req = new XMLHttpRequest[];
req.open["GET", "/myfile.png", true];
req.responseType = "blob";
req.onload = [event] => {
const blob = req.response;
// ...
};
oReq.send[];
19Ví dụ sau tạo một tệp văn bản đang hoạt động và sử dụng phương pháp
const req = new XMLHttpRequest[];
req.open["GET", "/myfile.png", true];
req.responseType = "blob";
req.onload = [event] => {
const blob = req.response;
// ...
};
oReq.send[];
30 để gửi "tệp" đến máy chủ. Ví dụ này sử dụng văn bản thuần túy, nhưng thay vào đó, bạn có thể tưởng tượng dữ liệu là một tệp nhị phânconst req = new XMLHttpRequest[];
req.open["GET", "/myfile.png", true];
req.responseType = "blob";
req.onload = [event] => {
const blob = req.response;
// ...
};
oReq.send[];
2Gửi các mảng đã nhập dưới dạng dữ liệu nhị phân
Bạn cũng có thể gửi các mảng đã nhập JavaScript dưới dạng dữ liệu nhị phân
const req = new XMLHttpRequest[];
req.open["GET", "/myfile.png", true];
req.responseType = "blob";
req.onload = [event] => {
const blob = req.response;
// ...
};
oReq.send[];
3Điều này đang xây dựng một mảng 512 byte gồm các số nguyên 8 bit và gửi nó;