ASP.NET+C#,FILEUPLOAD控件,如何上传图片到服务器,并保存图片路径到数据库?
我做了个例子给你
前台:
<div>
<asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="Button1" runat="server"
Text="Button" onclick="Button1_Click" />
<asp:Image ID="Image1" runat="server" />
</div>
后台:
protected void Button1_Click(object sender, EventArgs e)
{
FileUpload1SaveAs(ServerMapPath("img/"+FileUpload1FileName));//上传
Image1ImageUrl = "~/img/" + FileUpload1FileName;//路径(将这个数据保存到数据库就可以了。img为项目里一个文件夹的名称)
}
所有文件都是上传到web目录里的,它是网站的根目录。log目录和data目录是系统的保留目录,网站是不能直接链接到这两个目录的,它们也是不占用你的网站空间的。log目录用来存放运行日志(服务器自动生成),data目录则通常用来存放文件型数据库(如ACCESS),调用的时候要用物理路径而不是超链接,这样做的好处是使数据库不占用网站空间,如果你用的不是ACCESS数据库(比如MsSQL数据库),那么这个data目录可以忽略。
补充说明一下:FTP的根目录与网站的根目录通常是不同的(但也有服务器是设为同一目录的),比如你的服务器,用FTP进入是可以看到图中的三个文件夹,但当你在浏览器中用域名访问你的网站时,它是直接打开web文件夹中的内容的,也就是说web文件夹才是你网站的根目录!
在网上查查上传的代码。介绍jmail的上传附件的就有 下面的是按钮点击方法
html:
<asp:FileUpload ID="fufujian" runat="server" style ="border-left-style:none;border-right-style:none;border-top-style:none; " />
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />
cs文件
按钮点击
if (fufujianHasFile)
{
//指定上传文件在服务器上的保存路径
string savePath = ServerMapPath("~/upload/");
//检查服务器上是否存在这个物理路径,如果不存在则创建
if (!SystemIODirectoryExists(savePath))
{
//需要注意的是,需要对这个物理路径有足够的权限,否则会报错
//另外,这个路径应该是在网站之下,而将网站部署在C盘却把上传文件保存在D盘
SystemIODirectoryCreateDirectory(savePath);
}
savePath = savePath + "\\" + fufujianFileName;
fufujianSaveAs(savePath);//保存文件
//不过需要注意的是,在客户端访问却需要指定的是URL地址,而不是在服务器上的物理地址
// ResponseWrite(savePath);
// ResponseEnd();
//ResponseWrite(stringFormat("<a href='upload/{0}'>upload/{0}</a>", fufujianFileName));
//ResponseEnd();
看你平时使用什么方式连接服务器:
ftp:图形界面 直接文件传输
xshell:1、图形界面 文件传输
2、使用linux命令(yum -y install lrzsz)
1限制文件上传类型只能是
function checkFileType(name,file){
var extArray = new Array("doc","docx");
var allowSubmit = false;
if (!file){
return;
}
while (fileindexOf("\\") != -1){
file = fileslice(fileindexOf("\\") + 1);
}
var ext = fileslice(fileindexOf(""))toLowerCase();
for (var i = 0; i < extArraylength; i++) {
if (extArray[i] == ext){
allowSubmit = true;
break;
}
}
if(!allowSubmit){
alert("只能上传以下格式的文件:"+ (extArrayjoin("")) + "\n请重新选择再上传");
documentgetElementById(name)value = "";
}
}
其中:extArray是要求文件类型。可自行定义。
2引入jQuery外部文件
jquery-214minjs
3编写js代码
$(function () {
$('#txtfilePath1')uploadReview({
width: 350,
height: 350,
target: '#uploadReview1_content'
});
});
其中:txtfilePath1是input:file。width,height是预览的宽度和高度。target是显示预览的位置。
4编写jsp页面代码
<body>
<input type="text" class="yourClassName" name="filePath1" id="filePath1"/>
<input type="file" id="txtfilePath1" name="txtfilePath1" style="display:none;">
<input type="button" onclick="txtfilePath1click()" id="fileup1" name="fileup1" class="searchThing"value="上传">
</body>
注: 这个是很久以前在网上看到的,就整理了下来,但是这么久都没用过,所以也没调试过,你自己试一试研究研究, 再来网上很多博客里,他们写的很详细的,可以去看看
0条评论