我在我的网站上创建了一个文件上传部分,我希望将其他数据添加到即将上传到服务器的每个文档(fie)。
我想将每个文件与用户列表相关联,并添加对它的描述。然后,在我的服务器端(PHP,Laravel),我希望能够 理解" somefile.pdf "与(例如)" Josh"和" Dan"有关。它的描述将是(例如)"关于文件"的一些描述,以及" anotherfile.pdf"与另一个用户列表有关,并有另一个描述。
以下是一个表单:( 这真的很难看,抱歉,这只是一个例子)
updateList = function () {
var input = document.getElementById('files');
var output = document.getElementById('fileList');
output.innerHTML = '<ul>';
for (var i = 0; i < input.files.length; ++i) {
output.innerHTML += '<li><strong>' + input.files.item(i).name + "</strong>" ;
output.innerHTML += `<select multiple>
<option value="Josh">Josh</option>
<option value="George">George</option>
<option value="Dan">Dan</option>
<option value="Clark">Clark</option>
</select>
Description: <input type="text"></li>`
}
output.innerHTML += '</ul>';
}
&#13;
<form class="col-lg-6" action="/documents" method="post" enctype="multipart/form-data" onchange="javascript:updateList()">
{{ csrf_field() }}
<br>
Choose Documents (can attach more than one):
<br />
<input class="form-control" type="file" name="documents[]" id="files" multiple />
<br />
<div id="fileList"></div>
<br />
<input class="btn btn-primary" type="submit" value="Upload" />
</form>
&#13;
我尝试在文件提交到服务器之前迭代这些文件,然后为每个文件添加2个新属性,如下所示:
input.files[0].description = "Some description about the file";
input.files[0].users = ["Josh", "Dan"];
我不确定这样的事情是否可能,事实上 - 它不起作用。
我尝试了其他一些东西,但在服务器端,我无法理解哪个描述和用户属于哪个文件。
我正在寻找最干净,最有效和用户友好的方式来提交这些文件以及相关数据,而且在我的Laravel应用程序中,我希望能够轻松处理这些数据,以便我可以添加信息到我的数据库表。