目的: V20302 將文字存入 *_log.TXT , 並傳送至前端
處理說明: 0>傳送檔案至前端
1>>必需用 form.submit , 不可用 Ext.Ajax
2>>standardSubmit=true
3>>必需用主畫面 Ext.getCmp("s_form").submit
不可用子畫面 me.up("form").submit()
也不可用子畫面 Ext.getCmp("mySubForm").submit()
--> 因為執行 submit 時,本子畫面已被 destroy()
this.up("window").close();
this.up("window").destroy();
1>判斷檔案是否存在,若已存在,則刪除檔案
if (File.Exists(Tmp_out_pFName))
{ File.Delete(Tmp_out_pFName); }
2>如何將文字存入 //換行
string Tmp_Str = "Hello text" + "\r\n";
File.WriteAllText("myfilename.txt", Tmp_Str);
File.AppendAllText("myfilename.txt", Tmp_Str);
3>讀取檔案的文字
string Tmp_Str = File.ReadAllText("myfilename.txt");
4>複製檔案
File.Copy("myname.txt", "myname2.txt");
1>*.js
var cur_recs = Ext.getCmp('grid_Single').getSelectionModel().getSelection();
for (let i = 0; i <= cur_recs.length - 1; i++) {
console.log("i:", i);
cur_rec = cur_recs[i];
Tmp_DataAry1.push(cur_rec.data);
} // for i=0 to
let Tmp_DataString1 = JSON.stringify(Tmp_DataAry1);
var np = {};
np["DataString1"] = Tmp_DataString1;
//me.up("form").submit({
Ext.getCmp('s_form').submit({
method: "POST",
url: '../../api/V20302API/DoRemove',
standardSubmit: true,
params: np,
async: false,
}) //end of form.submit
2>*.cs
//開啟檔案
string Tmp_out_FName = "V20306_系統件除帳_log.txt"; //處理_log.txt
string documentPath = HttpContext.Current.Server.MapPath("~") + "document\\"; // 取得實實的路徑 string Tmp_out_pFName = documentPath + Tmp_out_FName; //含 path 的Filename
if (File.Exists(Tmp_out_pFName))
{
File.Delete(Tmp_out_pFName);
}
//using (StreamWriter sw = new StreamWriter(Tmp_out_pFName)) //小寫TXT
//{
for (var i = 0; i < dt1.Rows.Count; i++)
{
Tmp_FMNO = dt1.Rows[i]["FMNO"].ToString();
Tmp_Sql = " SELECT A.RPNOAF,A.TYPEAF as CSM_TYPEAF,B.TYPEAF as FM_TYPEAF "
+ " FROM CSM_AF@TLS_245 A, AMM_FM B "
+ " WHERE A.RPNOAF = nvl(B.MRPNOAF, B.RPNOAF) "
+ " AND B.FMNO = " + myfunc.AA(Tmp_FMNO);
Tmp_Str = myfunc.SqlValue(Tmp_Sql);
Tmp_RPNOAF = myfunc.StrExtract(Tmp_Str, 1);
Tmp_CSM_TYPEAF = myfunc.StrExtract(Tmp_Str, 2);
Tmp_FM_TYPEAF = myfunc.StrExtract(Tmp_Str, 3);
if (Tmp_CSM_TYPEAF != Tmp_FM_TYPEAF)
{
Tmp_Str = "交修單號(" + Tmp_RPNOAF + ")"
+ " AMM約別(" + Tmp_FM_TYPEAF + ") "
+ "和 TLS的約別(" + Tmp_CSM_TYPEAF + ") 不同 ,"
+ "敬請檢核!!<br>"+"\r\n";
//File.WriteAllText(Tmp_out_pFName, Tmp_Str);
File.AppendAllText(Tmp_out_pFName, Tmp_Str);
Tmp_Str =File.ReadAllText(Tmp_out_pFName);
//sw.WriteLine(Tmp_Str);
}
}// for (var i = 0; i < dt1.Rows.Count; i++)
//sw.Close();
PS: c# using 的使用方法如下:
1>引入命名空間 using System.Text;
2>使用資源後,自動釋放
using (var file = File.Open("filePath", FileMode.OpenOrCreate))
{
//do something
}
{
//do something
}
-->
FileStream file = File.Open("filePath", FileMode.OpenOrCreate);
try
{
//do something
}
finally
{
if (file!= null)
{
((IDisposable)file).Dispose();
}
}
try
{
//do something
}
finally
{
if (file!= null)
{
((IDisposable)file).Dispose();
}
}