//对上传的Txt文件进行编码的转换
public
class
UploadDocmentsFile
:
IHttpHandler
,
IRequiresSessionState
{
public
void
ProcessRequest(
HttpContext
context)
{
context.Response.ContentType =
"text/plain"
;
context.Request.ContentEncoding =
Encoding
.GetEncoding(
"UTF-8"
);
context.Response.ContentEncoding =
Encoding
.GetEncoding(
"UTF-8"
);
context.Response.Charset =
"utf-8"
;
string
ReportID = context.Request.QueryString[
"ReportID"
];
//string filePath = "C:\\Mysoft\\MReport\\ImportFolder\\";
string
filePath =
string
.Format(
"{0}Images\\upload\\ImportDocumnetsFolder\\"
, System.
AppDomain
.CurrentDomain.BaseDirectory);
HttpPostedFile
file = context.Request.Files[
"Filedata"
];
string
originalName =
string
.Empty;
string
fileName =
string
.Empty;
string
fileNewName =
string
.Empty;
if
(file !=
null
)
{
if
(!
Directory
.Exists(filePath))
{
Directory
.CreateDirectory(filePath);
}
originalName = file.FileName;
fileName =
DateTime
.Now.ToString(
"yyyyMMddHHmmss_ffff"
,
DateTimeFormatInfo
.InvariantInfo);
fileNewName = filePath + fileName +
"1"
+
Path
.GetExtension(originalName);
filePath += fileName +
Path
.GetExtension(originalName);
file.SaveAs(filePath);
if
(
Path
.GetExtension(originalName) ==
".txt"
||
Path
.GetExtension(originalName) ==
".TXT"
)
{
FileStream
fs =
new
FileStream
(filePath,
FileMode
.Open,
FileAccess
.Read);
StreamReader
streamReader =
new
StreamReader
(filePath,
Encoding
.GetEncoding(
"gb2312"
));
File
.WriteAllText(fileNewName, streamReader.ReadToEnd(),
Encoding
.UTF8);
fileName = fileName +
"1"
;
}
ImportReportsLogic
irl =
new
ImportReportsLogic
();
string
jResult = irl.GetImportDocumnetsName(originalName,
"\\Images\\upload\\ImportDocumnetsFolder\\"
+ fileName +
Path
.GetExtension(originalName), ReportID);
}
context.Response.Write(
"\\Images\\upload\\ImportDocumnetsFolder\\"
+ fileName +
Path
.GetExtension(originalName));
}