gpt4 book ai didi

php - 在提交上传表单之前获取所选文件的内容

转载 作者:行者123 更新时间:2023-12-01 03:38:33 25 4
gpt4 key购买 nike

当我要求用户上传 .patch 文件以及少量文本输入时,我有一个表单。

我可以获取该文件的内容或更具体的几行内容(补丁的更改文件),并在用户提交表单之前将其显示在可能禁用的文本框中吗?

enter image description here

最佳答案

您可以做的是读取 .patch 文件并使用 RegEx 解析它以获取其中的文件名。

.patch 文件是一个文本文件,其格式如下:

--- src.orig/java/org/apache/nutch/analysis/NutchAnalysisConstants.java 
+++ src/java/org/apache/nutch/analysis/NutchAnalysisConstants.java

因此每个“---”表示一个文件名,因此您可以读取所选文件的内容并使用正则表达式获取文件名并将其添加到您的输入中:

$("#fileInput").on("change", function(){ //When a new file is selected
var file = $("#fileInput").prop("files")[0]; //get the file

if (file.name.indexOf(".patch") < 0) {
alert("You can only select .patch files");
$("#fileInput").val("");
}
else {
var reader = new FileReader();
reader.readAsText(file, "UTF-8");
reader.onload = function (evt) { //When file is loaded.
$("#text").html("");

var fileContent = evt.target.result; //event.target.result is the file content
var names = fileContent.match(/--- .*?\s/g); //Use regex to get lines starting with --- ending with \s

$(names).each(function(i,e){
$("#text").html($("#text").html() + e + "\n"); //Add each line to the disabled textarea
$("#text").attr("rows", ++i); //sets height of textarea to the no. of lines
});
}
}
});

关于php - 在提交上传表单之前获取所选文件的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26761857/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com