cuốn sách gpt4 ai đã làm

javascript - Làm cách nào để ngăn dropzone xóa các tệp của tôi?

In lại Tác giả: Walker 123 Thời gian cập nhật: 27-11-2023 22:51:42 26 4
mua khóa gpt4 Nike

Tôi đã định cấu hình sự kiện "removefile" của dropzone.
Nhưng trong chức năng đó tôi xóa tập tin khỏi máy chủ.

Nếu máy chủ không xóa được tập tin,
Sau đó, tôi muốn sự kiện dropzone hủy việc xóa tệp khỏi cửa sổ phần tử dropzone.

Điều này có thể thực hiện được không?

Đây là mã xóa của tôi

this.on('removedfile', function(file) {
//xóa tập tin khỏi máy chủ
if (file.status == 'thành công') {
mô hình var = {
Id hợp đồng: Id hợp đồng,
clientId: phạm vi.currentClientId,
tên tệp: file.name
};
phạm vi.ajaxPost(scope.enumControllers.deleteContractAttachment, model, function(response) {
reply.error == false ? tp.showAlert(response.Message, 'success'): tp.showAlert(response.Message, 'error');;
});
}
});

câu trả lời hay nhất

Tôi gặp phải vấn đề và giải quyết nó.
Bạn cần sửa đổi mã nguồn.

1: Chetập tin đã xóasự kiện. Thêm chức năng xóa vào tùy chọn Dropzone như sau:

Vùng thả mới ({
// tùy chọn
tệp xóa: hàm () {
// xóa khỏi máy chủ...
}
});

2: lúcxóaTập tinTrong hàm: Xóa mã này: this.files = không có(this.files, file);

3: ý chíkhông códi chuyển đếndropzone.prototype:

Dropzone.prototype.without = function(list, chốiItem) {//...}

cuối cùng: Đây là của tôitập tin đã xóaHàm (không phải là sự kiện của hàm init mà là một tùy chọn của tùy chọn dropzone):

file đã xóa: hàm (tệp) {
var_ref,
isFileUploadSuccess = (file.status === Dropzone.SUCCESS),
isDeleteSuccess;
if (isFileUploadSuccess) {
customOptions && typeof customOptions.removeFunc === "function" && (isDeleteSuccess = customOptions.removeFunc(file));
}
if ((isFileUploadSuccess && isDeleteSuccess || !isFileUploadSuccess) && file.previewElement && (_ref = file.previewElement) !== null) {
_ref.parentNode.removeChild(file.previewElement);
this.files = this.without(this.files, file);
}
trả lại cái này._updateMaxFilesReachedClass();
}

loại bỏFunc là chức năng của tôi xóa tệp khỏi máy chủ thông qua ajax ( async:false ), vì vậy tôi có thể nhận được kết quả bất kể tệp có bị xóa thành công hay không;

Có thể mã của tôi không tốt lắm nhưng nó đã giải quyết được vấn đề của tôi.

Về javascript - Làm cách nào để ngăn dropzone xóa các tệp của tôi? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/38000795/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress