c#编程 如何从自己建的Tomcat服务器上下载文本和上传文本?请完整代码+注释 在线等。。。。
文件下载
private void DownDate(string filePath, string fileName)
{
FileInfo info = new FileInfo(filePath);
long fileSize = infoLength;
fileName = SystemWebHttpUtilityUrlEncode(fileName, SystemTextEncodingUTF8);
ResponseClear();
ResponseContentType = "application/msword";
ResponseContentEncoding = SystemTextEncodingUTF8;
ResponseAddHeader("Content-Disposition", "attachment;filename=" + fileName);
//不指明Content-Length用Flush的话不会显示下载进度
ResponseAddHeader("Content-Length", fileSizeToString());
ResponseTransmitFile(filePath);
ResponseFlush();
ResponseClose();
}
文件上传
protected void Page_Load(object sender, EventArgs e) {
HttpPostedFile hPostedFile = RequestFiles["Filedata"];
string path = BRC1_ATTACHMENTGetDirectory();
string absolutPath = ServerMapPath(path);
// 验证目录是否可用
if (!FileHelperValidateDirectory(absolutPath)) {
ResponseWrite("找不到指定上传目录");
throw new SystemException("找不到指定上传目录");
}
string fileID = "0";
if (hPostedFile != null) {
string fileName;
//获取上载文件的文件名称
fileName = SystemIOPathGetFileName(hPostedFileFileName);
if (!stringIsNullOrEmpty(fileName)) {
using (OMTransactionScope ts = new OMTransactionScope()) {
string newFileName = stringEmpty;
FileHelperUpLoadFileWithoutValidate(absolutPath, hPostedFile, out newFileName);
C1_ATTACHMENT sFile = new C1_ATTACHMENT();
sFileSCLJ = path + newFileName; // 路径
sFileFJXMC = newFileName; // 新名称
sFileCJSJ = DateTimeNow; // 创建时间
sFileXGSJ = DateTimeNow; // 修改时间
sFileFJJMC = fileName; // 原始文件名
sFileZT = 0; // 状态
sFileLB = 1; // 类别
if (!stringIsNullOrEmpty(thisZBBS))
sFileZBBS = thisZBBS;
if (!stringIsNullOrEmpty(thisZBMC))
sFileZBMC = thisZBMC;
int returnValue = sFileDB_InsertEntity();
if (returnValue > 0) {
// 表示数据库插入成功
fileID = sFileLSHToString();
// 插入日志
//HelperInsertSysLog(this, EButtonRuleTypebtnNew, "增加附件");
// 如果原始实体ID存在,则删除
if (!stringIsNullOrEmpty(thisOLD_File_ID)) {
//BRC1_ATTACHMENTDeleteEntityAndFile(thisOLD_File_ID);
string[] oldID = thisOLD_File_IDSplit(","ToCharArray(), StringSplitOptionsRemoveEmptyEntries);
foreach (string id in oldID) {
BRC1_ATTACHMENTDeleteEntityAndFile(id);
}
}
tsComplete();
} else {
// 表示数据库插入失败
FileHelperDeleteFile(absolutPath + newFileName);
}
}
}
//result = thisDelFile(absolutPath);
}
ResponseWrite(fileID);
ResponseEnd();
}
方法都是类似的,自己看看吧。
1
while(len=inputread(bt)>0){outputwrite(bt,0,len);
}
outputclose();
inputclose();
return mappingfindForward("ok");
2
FileOutputStream out= new FileOutputStream("F:\\yd\\TestUpLoad\\photo\\"+filename);
这个你根本没写文件的名字啊,当然为了防止重名,你应该修改这个filename自动生成不容易重名的文件名,如:根据日期生成,随机数等等。。还有你这个路径写的对不对
1、资源文件放在服务器下是完全没问题的,一个网站发布后也不会随便更新的。
2、如果资源文件过多、或都过大,是建议放到服务器下的,会占用服务器过大的空间,你可以在tomcat中再配置一个虚拟路径,指向一个盘符下一个文件夹(如:D:/images),在 tomcat 的 serverxml 中设置,然后你就可以用你的服务器地址+/img/+资源路径(注意:这个资源路径是相对D:/images的相对路径)去访问资源了
具体设置方法:
在conf目录下的serverxml文件里的里面加入
例如:
< Context path=”test” docBase=”F:\webroot\”/>
1、直接把html 代码放到tomcat的webapps文件夹下;
2、直接启动tomcat;
3、在浏览器端输入http://localhost:9080/你的项目名称;
使用 oraclesqlBLOB包,把你的格式转换成BLOB类型,和正常的类型一样插入orcle数据库中,就可以了。
还有你的数据库表中对应的字段也要是BLOB类型。
struts1也可以实现啊,现成的代码没有,因为以前做过,现在找不到了
0条评论