【发布时间】:2021-09-13 07:35:52
【问题描述】:
我正在使用 React js、Mobx 作为 .NET 核心的存储管理和 API 控制
用户必须选择 *.csv 文件并处理该文件,每一行都要插入 SQL Server。我正在努力将 CSV 数据从 UI 获取到 API
我在 React Js 中试过
const loadData = (event: any) => {
if (window.File && window.FileReader && window.FileList && window.Blob) {
var file = event.target.files[0];
var reader = new FileReader();
// reader.readAsDataURL(file);
reader.onload = function (e) {
console.log(e.target?.result);
var csvData = e.target?.result //This holding huge data
processCSVfile(csvData);
};
reader.readAsText(file);
event.target.value = null;
}
}
在商店处理后,我尝试将整个数据传递给 API,这里我遇到了“请求 URL 太长”的问题
//Making api Get
//strData is holding whole CSV data
function getSampleCSV(strData: string) {
console.log("csvTest", strData);
return requests.get(`/ControllerName/SampleMethod/csvSample/${strData}`);
}
【问题讨论】:
-
由于您将整个 .csv 文件放入 strData,它到底有多大?见:What is the maximum length of a URL in different browsers?
-
每个不同的网络浏览器的 URL 地址都有最大长度。 [不同浏览器中URL的最大长度是多少? ](stackoverflow.com/questions/417142/…)。使用 URL 传递信息不适合这种情况。
-
在我的情况下,URL 长度是不可预测的,还有其他方法可以将数据从 UI 传递到 API 吗?
标签: javascript reactjs sql-server .net-core mobx