在将文件名和与文件输入相关联的数据移动到新元素后,如何访问这些文件名和数据



这个问题的草稿标题是:

数据是如何附加到文件输入的?

我进一步完善了它,但这为我试图理解的内容提供了更广泛的背景。


我正在尝试将文件输入从一个div移动到另一个表单。

我遇到了这个小提琴,它展示了如何将输入移动到另一个元素:

http://jsfiddle.net/Kennethtruyers/5ecPw/1/

我把它修改为:

http://jsfiddle.net/rwone/eX3D7/

我现在正试图将其纳入一个更复杂的场景中,这需要我更多地了解数据是如何附加到文件输入的,以及文件名等质量是否自动附加并可编程使用。

以上两个例子的要点是,输入可以检索并附加到另一个表单中:

// get all the inputs
var inputs = $(".container_class input");
// append them to a form
$("#new_location").append(inputs);

这将在的新位置创建标记

<input type="file" id="image_path" class="MultiFile-applied" name="undefined" value="" style="position: absolute; top: -3000px;">
<input type="file" id="image_path_F1" class="MultiFile-applied MultiFile" name="undefined" value="">

(忽略类和定位,它们是由插件生成的)。

在发送之前,我将使用创建一个FormData对象

var myFormData = new FormData($("#my_form")[0]);

所以我的问题是:

新表单中的所有标记似乎都是正确的,但我在标记中看不到任何文件名。

请原谅我的无知,但如果我继续并在该表单上按下提交键,文件名是否可以访问,以便我可以将图像对应的文件名存储在数据库中?

文件名是根据我的判断自动创建的:

https://stackoverflow.com/a/21942376/1063287

它们可以通过以下逻辑访问:

request.files.input_name.filename

或者,对于更复杂的场景,请参阅这篇文章,其中有一个动态的输入数量,并且每个输入的名称是未知的:

https://stackoverflow.com/a/21939421/1063287

最新更新