Asp.net C#如何用fileupload 控件把图片上传到服务器,在把路径存入数据库中!
如题 我现在要做的功能是动态添加商品类别 其中T_GoodsClass(商品类别表)包含 GoodsClassID(类别ID),GoodsType(类别名称),ClassURL(类别图片)三个字段;如何把类别图片上传到服务器的同时添加到数据库中的商品类别表里!求帮忙++++谢谢++++
[解决办法]
适当修改一下即可.
#region 上传文件到数据库和服务器 public void FN_UpFiles() { //遍历File表单元素 HttpFileCollection files = HttpContext.Current.Request.Files; try { for (int iFile = 0; iFile < files.Count; iFile++) { //检查文件扩展名字 HttpPostedFile postedFile = files[iFile]; string fileName = "";//定义文件名 //string fileExtension = ""; fileName = Path.GetFileName(postedFile.FileName);//得到上传文件的完整名称 即文件名+后缀名 int index = fileName.IndexOf("."); string FileType = fileName.Substring(index).ToLower();//截取文件后缀名 //FileTypeImg = "../FileTypeimg/" + hz + ".gif"; Guid fileGuid = Guid.NewGuid();//生成新的文件名称 以GUID命名防止文件名相同 string NewFileName = fileGuid.ToString();//新的文件名 NewFileName = NewFileName + FileType;//新的文件名+后缀名 if (postedFile.ContentLength > 2097151 * 1024)//判断是否大于配置文件中的上传文件大小 { Page.RegisterStartupScript("提示", "<script language='javascript'>alert('对不起您的上传资源过大!');return;</script>"); return; } else { if (fileName != "")//如果文件名不为空 { try { //文件虚拟路径 string strpath = System.Web.HttpContext.Current.Server.MapPath("~/Upload/") + NewFileName; try { NRModel.File model = new NRModel.File(); NRBLL.File bf = new NRBLL.File(); Guid guid1 = Guid.NewGuid(); Guid guid2 = new Guid(FolderId); Guid guid3 = Guid.NewGuid(); Guid guid4 = Guid.NewGuid(); model.Fileid = guid1; model.Folderid = guid2; model.Filepath = strpath; model.FileNam = fileName; model.FileSize = postedFile.ContentLength; model.Decription = TextArea1.Value.ToString(); model.CreateOn = DateTime.Now; model.CreateBy = guid3; model.ModefyBy = guid4; if (bf.FN_AddNewRes(model) > 0) { NR.Error.Log.LogType("上传资源" + fileName + "成功!" + "服务器路径:" + strpath); //保存文件到指定目录(虚拟目录) postedFile.SaveAs(System.Web.HttpContext.Current.Server.MapPath("~/Upload/") + NewFileName); //Page.RegisterStartupScript("提示", "<script language='javascript'>alert('上传成功!');self.opener.location.reload();window.close();</script>"); AlertMsg("上传成功!"); } } catch (Exception ex) { NR.Error.Log.LogType(ex.ToString()); } } catch (Exception ex) { NR.Error.Log.LogType(ex.ToString()); } } else { Response.Write("上传文件不能为空!"); NR.Error.Log.LogType("文件不能为空!"); } } } } catch (System.Exception ex) { NR.Error.Log.LogType(ex.ToString()); } } #endregion
[解决办法]
if (FileUpload1.HasFile) { String fileExtension = System.IO.Path.GetExtension(FileUpload1.FileName).ToLower(); string[] allowedExtensions ={ ".word", ".doc ", ".exe" }; for (int i = 0; i < allowedExtensions.Length; i++) { if (fileExtension == allowedExtensions[i]) { try { FileUpload1.PostedFile.SaveAs("~/upload/" + FileUpload1.FileName); Response.Write("上传:" + FileUpload1.FileName + "类型:" + FileUpload1.PostedFile.ContentType + "大小:" + FileUpload1.PostedFile.ContentLength); } catch { Response.Write("上传失败!"); } } else { Response.Write("文件格式不正确!"); } } } else { Response.Write("请选择文件!"); } }