【问题标题】:Store file content in a table(html table tr td) jquery将文件内容存储在表中(html table tr td)jquery
【发布时间】:2015-05-24 14:41:51
【问题描述】:

我想通过将每个文件内容上传/添加到表中来在数据库中插入多个文件,然后在将所有文件添加到表中之后,我添加表的值,包括我传递给 ajax 的表单数据中的文件内容。我试过了

var file = $('#file')[0].files[0];
//var file = document.getElementById('file').files[0];
var name = file.name;
var size = file.size;
var type = file.type;
var blob = new Blob([file], {
    type: "application/octet-binary"
});
var filecontent = blob;

Here i used the value of filecontent to be passed to ajax but in php the condition if(!empty($_FILES) remaind false)

并且在console.log 文件内容看起来像[object Blob] 我想要实现我的主要目标,即存储到数据库我已经问过一个问题。我可以找到here 这就是我问第一个的问题。

我的问题是如何将文件内容存储到变量中,在这种情况下将$('#file')[0].files[0] 的值存储到file

UPDATE

当我使用var file = $('#file')[0].files[0]; 的值时,我仍然得到同样的错误

UPDATE

是否可以将input:file 存储到table tdinputany other element 并在需要时重复使用该文件

【问题讨论】:

    标签: javascript php jquery ajax blob


    【解决方案1】:

    要将文件的内容存储到变量中,您首先需要读取它们,因此您必须使用 FileReader

    例如readAsText()方法语法:

    instanceOfFileReader.readAsText(blob[, encoding]);
    

    readAsText方法用于读取指定的内容 Blob 或文件。当读操作完成时,readyState 为 改为DONE,loadend被触发,result属性 包含文件内容作为文本字符串。

    因此您可以将结果存储到您的变量中。

    【讨论】:

    • 我能够将它存储到变量中,存储到表的 td 或任何我可以重用的内容以获取 ajax 请求的内容我想实现这一点,因为我的其他问题。
    • @Pekka 你的意思是像逆向工程?一个 td 的表可以将数据存储为文本或 html 数据,所以请具体说明。
    • 我的意思是来自输入类型文件,我想将数据(输入文件的)临时存储在 td 的表中,因为我想向数据库中插入更多内容并且我想向用户展示哪些数据可用于插入数据库。这样我也可以在将文件存储到数据库之前重命名文件。我想知道是否可以存储文件内容不仅包括文件名文件大小和文件类型等信息,还包括文件本身
    • @Pekka 假设您的文件是 50 mb 电影,您认为如何将其存储为原始数据?文件本身需要存储,你检查过filereader api方法吗?
    • 实际上我将文件限制为仅 pdf,图像(虽然我不知道如何)。因为在我的项目设计中,我的目标是保存多个文件,如果可能的话重命名这些文件,所以唯一我能想到这个设计的方式。我尽可能只想要 jquery
    猜你喜欢
    • 2013-06-09
    • 1970-01-01
    • 1970-01-01
    • 2014-06-29
    • 2015-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-22
    相关资源
    最近更新 更多