限制上传文件的文件类型
type="file"
accept="application/pdf, application/vnd.openxmlformats-officedocument.wordprocessingml.document, text/plain"
/>
方式一
方式一
Messages
import mammoth from "mammoth";
export default {
data() {
return {};
},
mounted() {
console.log("ddd", mammoth);
},
methods: {
// 方式一
handleFileSelect(event) {
this.readFileInputEventAsArrayBuffer(event, (arrayBuffer) => {
mammoth
.convertToHtml({ arrayBuffer: arrayBuffer })
.then(this.displayResult)
.done();
});
},
displayResult(result) {
console.log(result);
document.getElementById("output").innerHTML = result.value;
var messageHtml = result.messages
.map((message) => {
return (
'
' +this.escapeHtml(message.message) +
"
");
})
.join("");
document.getElementById("messages").innerHTML =
"
- " + messageHtml + "
},
readFileInputEventAsArrayBuffer(event, callback) {
var file = event.target.files[0];
var reader = new FileReader();
reader.onload = function (loadEvent) {
var arrayBuffer = loadEvent.target.result;
callback(arrayBuffer);
};
reader.readAsArrayBuffer(file);
},
escapeHtml(value) {
return value
.replace(/&/g, "&")
.replace(/"/g, """)
.replace(/
.replace(/>/g, ">");
},
// 方式二
parseWordDocxFile(inputElement) {
let result = document.getElementById("messages");
console.log("inputElement", inputElement.target);
var files = inputElement.target.files || [];
if (!files.length) return;
console.log("files", files);
var file = files[0];
console.time();
var reader = new FileReader();
reader.onloadend = function (event) {
var arrayBuffer = reader.result;
// debugger
mammoth
.convertToHtml({ arrayBuffer: arrayBuffer })
.then(function (resultObject) {
result.innerHTML = resultObject.value;
console.log(resultObject.value);
});
console.timeEnd();
};
reader.readAsArrayBuffer(file);
},
},
};
p {
margin-bottom: 20px;
}