asp.net+js 实现无刷新上传解析csv文件的代码_javascript技巧
前阵子工作中用到,贴上代码,仅保留上传有关的代码,发现code其实很少。
上传页面html/js
处理文件上传的c#
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("<script>window.parent.FinishUpload('" + HttpUtility.UrlEncode(path) + "');</script>");
}
}
else
{
context.Response.Write("<script>window.parent.FinishUpload('');</script>");
}
做到无刷新,基本原理就是:通过表单提交到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文件
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
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 == '\r')
{
if (isInYinHao)
{
text.Append(current);
}
}
else if (current == '\n')
{
if (isInYinHao)
{
text.Append(current);
}
else
{
SaveResult(results, lineId, text);
index = 0;
lineId++;
continue;
}
}
else if (current == '\0')
{
}
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 {
if (i > 2)
{
break;
}
mydr[i] = results[id][i];
}
mydt.Rows.Add(mydr);
}
}
return mydt;
}
private void SaveResult(IDictionary
{
if (!results.ContainsKey(lineId))
{
results.Add(lineId, new List
}
results[lineId].Add(text.ToString());
text.Remove(0, text.Length);
}
点击下载

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Laravel ialah salah satu rangka kerja PHP yang lebih cemerlang dalam industri Fungsinya yang berkuasa dan API yang mudah digunakan menjadikannya sangat popular di kalangan pembangun. Dalam pembangunan sebenar, kita sering perlu mengimport dan mengeksport data, dan CSV, sebagai format data yang digunakan secara meluas, juga telah menjadi salah satu format import dan eksport yang biasa digunakan. Artikel ini akan memperkenalkan cara menggunakan sambungan LaravelExcel untuk mengimport dan mengeksport fail CSV. 1. Pasang LaravelExcel Pertama, kita perlukan

Cara menukar rentetan json kepada format csv dalam php: 1. Buat fail sampel php 2. Tukar rentetan JSON kepada tatasusunan atau objek PHP 3. Buat pemegang fail dan buka fail CSV; baris pengepala dan baris data dalam fail CSV 5. Tulis baris data ke dalam fail CSV dan gunakan pemisah koma antara medan, tutup pemegang fail dan lengkapkan penukaran.

Artikel ini akan menerangkan secara terperinci bagaimana PHP memformat baris ke dalam CSV dan menulis penunjuk fail saya rasa ia agak praktikal, jadi saya berkongsi dengan anda sebagai rujukan saya harap anda boleh memperoleh sesuatu selepas membaca artikel ini. Format baris ke CSV dan tulis ke penuding fail Langkah 1: Buka penuding fail $file=fopen("path/to/file.csv","w"); kepada rentetan CSV. Fungsi ini menerima parameter berikut: $fail: penuding fail $medan: medan CSV sebagai tatasusunan $pembatas: pembatas medan (pilihan) $kepungan: petikan medan (

Penyelesaian kepada masalah csv bercelaru yang diimport ke dalam PHP: 1. Bina fungsi parsing "function tb_str_getcsv($string, $delimiter=',', $enclosure='"') {...}"; 2. Baca fail ke dalam pembolehubah ;3. Keluarkan pengepala BOM melalui "substr($s,2)".

Tukar data XML dalam Python kepada format CSV XML (ExtensibleMarkupLanguage) ialah bahasa penanda boleh diperluas yang biasa digunakan untuk penyimpanan dan penghantaran data. CSV (CommaSeparatedValues) ialah format fail teks dipisahkan koma yang biasa digunakan untuk import dan eksport data. Semasa memproses data, kadangkala data XML perlu ditukar kepada format CSV untuk analisis dan pemprosesan yang mudah. Python adalah yang kuat

Java ialah bahasa pengaturcaraan yang digunakan secara meluas, dan pembangun selalunya perlu berurusan dengan pelbagai format data. CSV (Comma-SeparatedValues) ialah format data biasa yang digunakan secara meluas dalam pertukaran dan penyimpanan data. Di Java, kita boleh menggunakan perpustakaan OpenCSV untuk membaca dan menulis fail CSV. OpenCSV ialah perpustakaan sumber terbuka yang mudah digunakan yang menyediakan API yang mudah untuk memproses data CSV. Artikel ini menerangkan cara untuk

Gambaran keseluruhan mata pengetahuan utama a.Kelas SwingNode: Bungkus komponen Javaswing ke dalam Nod JavaFX, supaya JavaSwing boleh disarangkan dengan JavaFX JavaSwing adalah hodoh, tetapi komponen jadual JavaFX (TableView, dll.) agak rumit , jadi Pilih JavaSwing bersarang untuk digunakan, cuma jadi hodoh b.javacsv-2.0.jar: digunakan untuk membaca fail csv melalui alamat fail, dan boleh melakukan satu siri operasi Walaupun ia tidak lagi dikemas kini selepas 2008, ia boleh beroperasi a fail csv Sudah cukup. c.FileChoose kelas: pemilih fail untuk JavaFX yang boleh

csv ke vcf melalui langkah-langkah membuka fail CSV, memformat fail CSV, mengeksport fail CSV, melaraskan format fail VCF dan menyimpan fail VCF. Pengenalan terperinci: 1. Buka fail CSV, anda boleh menggunakan Microsoft Excel, Google Sheets atau mana-mana program hamparan lain untuk membuka fail CSV 2. Format fail CSV untuk memastikan pengepala lajur fail CSV adalah jelas; Eksport fail CSV, dsb.
