600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > asp.net+js 实现无刷新上传解析csv文件的代码【javascript】

asp.net+js 实现无刷新上传解析csv文件的代码【javascript】

时间:2018-12-17 00:19:45

相关推荐

asp.net+js 实现无刷新上传解析csv文件的代码【javascript】

web前端|js教程

,无刷新,csv

web前端-js教程

前阵子工作中用到,贴上代码,仅保留上传有关的代码,发现code其实很少。

上传页面html/js

卖域名源码,ubuntu通用显卡驱动,爬虫钻进衣服里,php树形搜索,seo翻译taglinelzw

function FinishUpload(filePath) {

document.getElementById("uploadForm").reset();

if (!filePath) {

alert("Import Failed!");

}

else {

alert("Imported Successfully to " + decodeURIComponent(filePath) + "!");

}

}

function UploadFile() {

var arr = document.getElementById("txtFile").value.split(.);

var fileType = arr[arr.length - 1];

if (fileType.toLowerCase().indexOf("csv") < 0) {

document.getElementById("uploadForm").reset();

alert("Please select a csv file.");

return false;

}

document.getElementById("uploadForm").encoding = "multipart/form-data";

document.getElementById("uploadForm").submit();

}

function ResetFile(file) {

var tmpForm = document.createElement(form);

file.parentNode.insertBefore(tmpForm, file);

tmpForm.appendChild(file);

tmpForm.reset();

tmpForm.removeNode(false);

}

处理文件上传的c#

php网站源码下载测试,微软vscode怎么用,mac改到ubuntu,tomcat 缓存时间,安卓程序用的sqlite,爬虫技术可行性指什么,绝对值 php,邵阳seo优化哪家便宜,网站用html模拟图片上传,网页设计名片,旅游美食网站模板lzw

if (context.Request.Files.Count > 0)

{

HttpPostedFile file = context.Request.Files[0];

if (file.ContentLength > 0)

{

string title = string.Empty;

title = DateTime.Now.ToString("yyyyMMddHHmmss") + "_" + Path.GetFileName(file.FileName);

string path = "./Upload/" + title;

path = System.Web.HttpContext.Current.Server.MapPath(path);

file.SaveAs(path);

context.Response.Write("window.parent.FinishUpload(\" + HttpUtility.UrlEncode(path) + ");");

}

}

else

{

context.Response.Write("window.parent.FinishUpload(\);");

}

做到无刷新,基本原理就是:通过表单提交到iframe里,从而使刷新发生在iframe里。form设置action指向处理上传的文件,target指向iframe。上传操作的结果可以返回到iframe里,调用父对象的FinishUpload方法显示是否上传成功。所以在AJAX未流行时,常用这种方法来伪装未刷新的效果,现在仍然可以使用。

要注意的是:

enctype=”multipart/form-data”不可少,enctype默认编码是“application/x-www-form-urlencoded”,设置enctype=”multipart/form-data”,用于二进制方式上传文件。

为防止文件名乱码,防止乱七八糟字符URL传递中出现问题,返回文件名到前台时进行HttpUtility.UrlEncode,在前台JS中取文件名时进行decodeURIComponent。

重置文件选择框时,要把文件选择框临时插入到临时表单,通过表单的reset方法重置。

顺便贴上解析上传的csv文件的code

解析csv文件

完整的python项目源码下载,ubuntu以太坊环境,tomcat启动后日志缓存,爬虫子入耳,bat运行php,下面哪些是属于seo的基本步骤lzw

private DataTable ImportDataTable(string filepath)

{

DataTable mydt = new DataTable("myTableName");

mydt.Columns.Add("Data ID", System.Type.GetType("System.String"));

mydt.Columns.Add("Field Name", System.Type.GetType("System.String"));

mydt.Columns.Add("New Value", System.Type.GetType("System.String"));

DataRow mydr;

using (System.IO.StreamReader mysr = new System.IO.StreamReader(filepath))

{

int data;

char current;

StringBuilder text = new StringBuilder();

IDictionary<int, List> results = new Dictionary<int, List>();

bool isInYinHao = false; ;

int lineId = 1;

int index = 0;

while (true)

{

data = mysr.Read();

if (data != -1)

{

current = (char)data;

if (current == \")

{

if (isInYinHao)

{

isInYinHao = false;

}

else

{

if (index > 0)

{

text.Append(current);

}

isInYinHao = true;

}

}

else if (current == ,)

{

if (isInYinHao)

{

text.Append(current);

}

else

{

SaveResult(results, lineId, text);

index = 0;

continue;

}

}

else if (current == \ )

{

if (isInYinHao)

{

text.Append(current);

}

}

else if (current == \ )

{

if (isInYinHao)

{

text.Append(current);

}

else

{

SaveResult(results, lineId, text);

index = 0;

lineId++;

continue;

}

}

else if (current == \)

{

}

else

{

text.Append(current);

}

index++;

}

else

{

//Read to file end.

SaveResult(results, lineId, text);

break;

}

}

foreach (int id in results.Keys)

{

mydr = mydt.NewRow();

for (int i = 0; i < results[id].Count; i++)

{

if (i > 2)

{

break;

}

mydr[i] = results[id][i];

}

mydt.Rows.Add(mydr);

}

}

return mydt;

}

private void SaveResult(IDictionary<int, List> results, int lineId, StringBuilder text)

{

if (!results.ContainsKey(lineId))

{

results.Add(lineId, new List());

}

results[lineId].Add(text.ToString());

text.Remove(0, text.Length);

}

点击下载

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。