javaweb从浏览器上传文件到服务器,保存在什么地方比较好
1、资源文件放在服务器下是完全没问题的,一个网站发布后也不会随便更新的。
2、如果资源文件过多、或都过大,是建议放到服务器下的,会占用服务器过大的空间,你可以在tomcat中再配置一个虚拟路径,指向一个盘符下一个文件夹(如:D:/images),在 tomcat 的 serverxml 中设置<Context docBase="D:/images" path="/img" />,然后你就可以用你的服务器地址+/img/+资源路径(注意:这个资源路径是相对D:/images的相对路径)去访问资源了
C#使用webservice把文件上传到服务器的代码如下(这里以C:\\zhidaojpg这个文件上传为例):
WebService部分:
/// <summary>/// 保存文件到远程服务器
/// </summary>
/// <param name="FileByteArray">待转换字节数组</param>
/// <param name="FileLength">字节长度</param>
/// <param name="SaveToUrl">保存路径</param>
/// <returns>返回是否执行成功</returns>
[WebMethod(Description = "保存文件到远程服务器")]
public bool SaveFile(byte[] FileByteArray,int FileLength, string SaveToUrl)
{
try
{
FileStream fs = new FileStream(SaveToUrl, FileModeOpenOrCreate, FileAccessWrite);
fsWrite(FileByteArray, 0, FileLength);
fsClose();
}
catch {
return false;
}
return true;
}
上传文件调用部分:
protected void Button1_Click(object sender, EventArgs e){
MangerPhotoService mp = new MangerPhotoService();
ResponseWrite(mpSaveFile(getByte(), FileUpload1PostedFileContentLength, "C:\\zhidaojpg"));
} private byte[] getByte() {//获得转化后的字节数组
//得到用户要上传的文件名
string strFilePathName = FileUpload1PostedFileFileName;
string strFileName = PathGetFileName(strFilePathName);
int FileLength = FileUpload1PostedFileContentLength;
//上传文件
Byte[] FileByteArray = new Byte[FileLength]; //图象文件临时储存Byte数组
Stream StreamObject = FileUpload1PostedFileInputStream; //建立数据流对像
//读取图象文件数据,FileByteArray为数据储存体,0为数据指针位置、FileLnegth为数据长度
StreamObjectRead(FileByteArray, 0, FileLength);
return FileByteArray;
}
0条评论