【发布时间】:2014-06-06 03:52:43
【问题描述】:
您好,任何人都可以帮助我,我只需要获取要上传的 csv 文件的 base_64 代码
这是我的带有 csv 过滤器的代码
function readCSV(input) {
if (input.files && input.files[0]) {
var filename = input.files[0].name;
var ext = filename.split('.').pop();
if(input.files[0].type == "text/csv" || ext == "csv" || ext == "xls"){
var reader = new FileReader();
reader.onload = function (e) {
var base_64 = e.target.result;
console.log(base_64);
var array = new Uint8Array(100);
array[42] = 10;
$('#file_name').html(input.files[0].name);
$('#filename').val(input.files[0].name);
$('#content').val(base_64);
}
reader.readAsDataURL(input.files[0]);
}else{
$('#file_name').html('<span style="color:red; font-size:11px"><i class="fa fa-ban"></i> Invalid File Please try again!</span>');
}
}
}
当我console.log(base_64)时在我的logcat中
谷歌浏览器的结果是
data:base64,UHJvZHVjdCBOYW1lL....(rest of base_64 string)
我只需要 base_64 字符串
所以我想出了这个解决方案
//replace function
content.replace('data:;base64,', '');
我只是删除了字符串中的data:base64,
但是当我在Firefox中尝试时,结果是
data:application/octet-stream;base64,UHJvZHVjdCBOYW1lL....(rest of base_64 string)
与第一个结果不同,所以我的替换功能不起作用
但我不想添加另一个替换功能,因为我担心如果浏览器推送更新,data:base64 可能是1.0.data:base64 或v.1.data:base64,所以每当字符串更改时,我的系统都会失败。
谁能帮帮我。我只需要获取 base_64 字符串,提前致谢。
【问题讨论】:
-
当您执行
console.log(({}).toString.call(base_64)和console.log(typeof base_64)时会发生什么? -
@JustcallmeDrago 等我试试
标签: javascript php jquery csv