Rumah hujung hadapan web tutorial js asp.net+js 实现无刷新上传解析csv文件的代码_javascript技巧

asp.net+js 实现无刷新上传解析csv文件的代码_javascript技巧

May 16, 2016 pm 06:27 PM
asp.net csv Tiada penyegaran

前阵子工作中用到,贴上代码,仅保留上传有关的代码,发现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> results = new Dictionary>();
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> results, int lineId, StringBuilder text)
{
if (!results.ContainsKey(lineId))
{
results.Add(lineId, new List());
}
results[lineId].Add(text.ToString());
text.Remove(0, text.Length);
}

点击下载
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Pembangunan Laravel: Bagaimana untuk mengimport dan mengeksport fail CSV menggunakan Laravel Excel? Pembangunan Laravel: Bagaimana untuk mengimport dan mengeksport fail CSV menggunakan Laravel Excel? Jun 14, 2023 pm 12:06 PM

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

Bagaimana untuk menukar rentetan json ke format csv dalam php Bagaimana untuk menukar rentetan json ke format csv dalam php Jun 02, 2023 am 11:13 AM

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.

Baris format PHP ke CSV dan tulis penuding fail Baris format PHP ke CSV dan tulis penuding fail Mar 22, 2024 am 09:00 AM

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 (

Apa yang perlu dilakukan jika php mengimport aksara csv yang kacau? Apa yang perlu dilakukan jika php mengimport aksara csv yang kacau? Nov 21, 2022 am 09:32 AM

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 kepada format CSV dalam Python Tukar data XML kepada format CSV dalam Python Aug 11, 2023 pm 07:41 PM

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

Penjelasan terperinci tentang membaca dan menulis fail CSV dalam Java menggunakan OpenCSV Penjelasan terperinci tentang membaca dan menulis fail CSV dalam Java menggunakan OpenCSV Dec 20, 2023 am 09:36 AM

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

Cara mengimport fail CSV ke JTable untuk paparan menggunakan Java Cara mengimport fail CSV ke JTable untuk paparan menggunakan Java Apr 21, 2023 pm 11:34 PM

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

Bagaimana untuk menukar csv ke vcf Bagaimana untuk menukar csv ke vcf Dec 15, 2023 am 10:44 AM

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.

See all articles