关键词:
using System;using System.IO;
using System.Web.UI.HtmlControls;
namespace JH_ProfessionCMS.Common
/// <summary>
/// 功能 : 上传文件操作类
/// 作者 : xtx
/// </summary>
public class UpFile
public UpFile()
#region 是否允许该扩展名上传 IsAllowedExtension
/// <summary>
/// 是否允许该扩展名上传
/// </summary>
/// <paramname = "hifile">HtmlInputFile 控件 </param>
/// <returns> 允许则返回 true, 否则返回 false </returns>
public bool IsAllowedExtension(HtmlInputFile hifile)
string strOldFilePath = "";
string strExtension = "";
// 允许上传的扩展名,可以改成从配置文件中读出
string[]arrExtension = ".gif",".jpg",".jpeg",".bmp",".png";
if(hifile.PostedFile.FileName != string.Empty)
strOldFilePath = hifile.PostedFile.FileName;
// 取得上传文件的扩展名
strExtension = strOldFilePath.Substring(strOldFilePath.LastIndexOf("."));
// 判断该扩展名是否合法
for(int i = 0;i <arrExtension.Length;i++)
if(strExtension.Equals(arrExtension[i]))
return true;
return false;
#endregion
#region 判断上传文件大小是否超过最大值 IsAllowedLength
/// <summary>
/// 判断上传文件大小是否超过最大值
/// </summary>
/// <param name="hifile">HtmlInputFile 控件 </param>
/// <returns> 超过最大值返回 false, 否则返回 true. </returns>
public bool IsAllowedLength(HtmlInputFile hifile)
// 允许上传文件大小的最大值 , 可以保存在 xml 文件中 , 单位为 KB
int i = 20;
// 如果上传文件的大小超过最大值 , 返回 flase, 否则返回 true.
if(hifile.PostedFile.ContentLength > i * 1024)
return false;
return true;
#endregion
#region 获取一个不重复的文件名 GetUniqueString
/// <summary>
/// 获取一个不重复的文件名
/// </summary>
/// <returns> </returns>
public string GetUniqueString()
// 得到的文件名形如 :20050922101010
return DateTime.Now.ToString("yyyyMMddhhmmss");
#endregion
#region 删除指定文件 DeleteFile
/// <summary>
/// 删除指定文件
/// </summary>
/// <param name="strAbsolutePath"> 文件绝对路径 </param>
/// <param name="strFileName"> 文件名 </param>
public void DeleteFile(string strAbsolutePath, string strFileName)
// 判断路径最后有没有 \ 符号,没有则自动加上
if(strAbsolutePath.LastIndexOf("\\") == strAbsolutePath.Length)
// 判断要删除的文件是否存在
if(File.Exists(strAbsolutePath + strFileName))
// 删除文件
File.Delete(strAbsolutePath + strFileName);
else
if(File.Exists(strAbsolutePath + "\\" + strFileName))
File.Delete(strAbsolutePath + "\\" + strFileName);
#endregion
#region 上传文件并返回文件名 SaveFile
/// <summary>
/// 上传文件并返回文件名
/// </summary>
/// <param name="hifile">HtmlInputFile 控件 </param>
/// <param name="strAbsolutePath"> 绝对路径 . 如 :Server.MapPath(@"Image/upload") 与 Server.MapPath(@"Image/upload/") 均可 , 用 \ 符号亦可 </param>
/// <returns> 返回的文件名即上传后的文件名 </returns>
public string SaveFile(HtmlInputFile hifile,string strAbsolutePath)
string strOldFilePath = "",strExtension = "",strNewFileName = "";
// 如果上传文件的文件名不为空
if(hifile.PostedFile.FileName != string.Empty)
strOldFilePath = hifile.PostedFile.FileName;
// 取得上传文件的扩展名
strExtension = strOldFilePath.Substring(strOldFilePath.LastIndexOf("."));
// 文件上传后的命名
strNewFileName = GetUniqueString() + strExtension;
// 如果路径末尾为 \ 符号,则直接上传文件
if(strAbsolutePath.LastIndexOf("\\") == strAbsolutePath.Length)
hifile.PostedFile.SaveAs(strAbsolutePath + strNewFileName);
else
hifile.PostedFile.SaveAs(strAbsolutePath + "\\" + strNewFileName);
return strNewFileName;
#endregion
#region 重新上传文件,删除原有文件 CoverFile
/// <summary>
/// 重新上传文件,删除原有文件
/// </summary>
/// <param name="ffFile">HtmlInputFile 控件 </param>
/// <param name="strAbsolutePath"> 绝对路径 . 如 :Server.MapPath(@"Image/upload") 与 Server.MapPath(@"Image/upload/") 均可 , 用 \ 符号亦可 </param>
/// <param name="strOldFileName"> 旧文件名 </param>
public string CoverFile(HtmlInputFile ffFile,string strAbsolutePath,string strOldFileName)
// 获得新文件名
string strNewFileName = GetUniqueString();
if(ffFile.PostedFile.FileName != string.Empty)
// 旧图片不为空时先删除旧图片
if(strOldFileName != string.Empty)
DeleteFile(strAbsolutePath,strOldFileName);
return SaveFile(ffFile,strAbsolutePath);
return "";
#endregion
至于保存嘛,简单了,上面已经有取得路径的代码。你把数据库操作加进去就行了。 参考技术A 这样
string names = fupImg.FileName.ToString();
fupImg.SaveAs(Server.MapPath("img/") + names);
names就可以保存到数据库中了
c#图片上传到文件夹
...想点击button后打开一个对话框用来选取图片..然后保存到服务器文件夹中...最后在页面的image控件用显示.....希望各位大虾教教小弟..谢谢!!!.net使用FileUpLoad控件上传文件2008-04-2315:24单个文件的上传:保存到上传服务器指定目录:FileUp... 查看详情
h5端图片上传-模拟多张上传
1、由于后端的限制,上传图片到服务器只能的一张一张传2、显示图片预览是本地的图片3、根据服务器返回的结果拿到相应的路径保存到提交评论的接口中4、删除的时候,需要删除对应的路径,不要把删除的提交到评论的接口... 查看详情
asp.net后台中用啥方法可以将图片传到服务端?
...了,我只保存了文件的完全路径,并没有把图片直接传到服务器上去,而是将它的路径赋值给B页面的文本框控件,再通过file类中copy方法(将图片复制到指定的【服务端】文件去),但是程序报错了。报错的原因是没有这张图片... 查看详情
java项目客户上传的图片放到哪好
...对路径获取图片图片上传一般考虑两种办法:1、上传到服务器,数据库中存储服务器上图片的相对路径;2、转换为二进制流存入到数据库中。现在常用的做法都是选择第一种,因为第二种太占数据库空间,而且查找读取效率不... 查看详情
java项目客户上传的图片放到哪好
...对路径获取图片图片上传一般考虑两种办法:1、上传到服务器,数据库中存储服务器上图片的相对路径;2、转换为二进制流存入到数据库中。现在常用的做法都是选择第一种,因为第二种太占数据库空间,而且查找读取效率不... 查看详情
使用thinkphp做一个上传图片,并且要将图片直接保存到数据库里。感觉现在好没有头绪,不知道如何下手。
...心急参考技术A图片转换为二进制再存呗,关键是这样做服务器会boom一下炸掉的! 参考技术B把图片转换为Base64位,然后保存到数据库里或者把路径保存数据库(推荐) 参考技术C和你老板说,“你煞笔啊”,怎么能够这样设计表... 查看详情
java实现图片上传至服务器并显示,如何做?
...单,通过JSP页面让用户选择本地图片文件,提交就上传到服务器保存。上传成功的话JSP页面上就显示刚上传的图片。我自己想了一下,觉得有两种办法可以试试:1、服务器把图片作为blob型数据存进数据库,然后显示的时候就查... 查看详情
asp.net中如何上传图片到服务器所制定的一个文件夹中去?
我做了个电子商务网站,我想把客户端发布的图片能上传到我的服务器指定的文件里面。PS:我数据库中存的是图片的路径谢谢各位,那位可以给我说一下详细代码吗?首先你要引入:usingSystem.Io;stringsavepath=Server.MapPath("~/你要指定... 查看详情
文件的上传(tcp)
...定路径下并文件名添加前缀"Downlod_原文件名"。思路: 客户端需要一个输入流来读取本地文件内容和文件名;需要一个输出流将读取的文件名发送至服务器端,然后再将内容发送至服务器端。 服务器端需要一个输入流... 查看详情
c#客户端winform怎么自动(不许要用户选择文件)上传日志到web服务器
WinForm客户端或者Web客户端能自动从某个设定的文件夹或文件上传到Web服务器;2.上传的文件的大小在100kb之内;3.最好是能简单点实现自动是指:程序运行时,我设置上传的文件后,就会自动上传到Web服务器上的某个目录下,或... 查看详情
将图像 URI 上传到 Cloudinary
...eJS的示例,看起来服务器端上传使用了文件路径。同时,客户端上传需要前端输入标签。我已经有一个前端供用户根据自己的喜好选择和裁剪图片,这给了我一个数据URI。我想将此文件保存到Cloudinary,而不必使用其内置的前 查看详情
在asp.net中怎么把图片上传,并且存入数据库,求大神解答!!!!
参考技术Afile控件有个提交事件,然后在后台获取文件保存到本地,把文件路径存到数据库,这是一种方法;或者把图片转成二进制,直接存到数据库,用的使用在转成图片就行了 查看详情
asp.net如何上传图片
...去然后显示出来这在ASP.NET编程中视如何实现的如果要把客户端上传的图片存储到一个固定的目录该怎么做是和数据库连接吗越具体越好上传用控件啊aspx页<asp:FileUploadid="fuImage"runat="server"/>Code页//提交按钮的点... 查看详情
java如何把本地文件上传到服务器。
...保存到服务器的某某位置如果服务器开通了ftp服务,你的客户端可以实现一个ftp的客户端,通过ftp服务将文件上传到服务器的指定目录下,可以使用org.apache.commons.net.ftp.FTPClient这个类去实现,非常的简单,网上有很多现成的代码... 查看详情
c#winform中上传一个图片到服务器,然后把服务器的相对路径存入数据库中
怎样写上传到服务器的代码啊给出具体代码3Q上传到服务器指定的文件夹中参考技术A你去黑客学习基地看看,里面可能有你想要的答案 参考技术B可以利用WebClient的用法。关于用法你可以在msdn中找到。本回答被提问者采纳 参考... 查看详情
android中如何上传图片到ftp服务器
...刚刚上传的图片(可以指定新的文件夹)求Damo实例android客户端实现FTP文件需要用到commons-net-3.0.1.jar先将jar包复制到androidlibs目录下复制以下实现代码以下为实现代码: /** *通过ftp上传文件 *@paramurlftp服务器地址如: *@paramport端... 查看详情
用cwrsync多次上传下载文件如何让客户端的文件路径和服务器端的文件路径完全一样。
...用cwRsync这个软件来做的。可是这个软件做了后结果是从客户端上传后。它会在服务器端在创建个文件夹,用来保存客户端上传的文件。可是我想上传后服务端的文件路径和客户端的文件路径是完全一样的而不是在创建个文件夹... 查看详情
文件上传,图片加水印
...,然后控件的value获取选中的文件名 2、将文件保存到服务器上 FileUpload.SaveAs("绝对路径"); 3、获得绝对路径 先编写相对路径 查看详情