js 读取 input file 的内容

1,115 阅读1分钟

背景:使用input file 上传了 csv 文件,怎样在前端显示出里边的内容呢?

解决如下:

test () {
      var data = []
			var files = this.$refs.fileMatrix.files
			var regp = new RegExp(".*,\".*,.*\"$")
			if(files.length) {
				var file = files[0]

				var reader = new FileReader() //new一个FileReader实例
				if(typeof FileReader == 'undefined') {
					alert("你的浏览器暂不支持该功能")
					return
				}
				reader.readAsText(file)
				reader.onload = function(f) {
                                        console.log(this.result);
					//显示文件
					var relArr = this.result.split("\r\n")
					if(!$.isEmptyObject(relArr) && relArr.length > 1) {
						for(var key = 1, len = relArr.length; key < len; key++) {
							var values = relArr[key]
							if(regp.test(values)) {
								console.log("文件内容中有英文逗号,麻烦修改后再上传,含有英文逗号的内容是:" + values)
								return
							}
						}
					}
				}
      }
    },

可以通过打印 reader.onload 方法里的 this.result 就可以在前端show csv 里的内容了~

结果如下: