首页 新闻 会员 周边 捐助

asp.net业务中实现图片的保存

0
悬赏园豆:5 [已解决问题] 解决于 2013-12-10 18:17

string str = UploadUrl;
            string ss = str.Substring(str.LastIndexOf("\\") + 1);
            string s = System.Web.HttpContext.Current.Server.MapPath("~\\photo\\" + ss);
            if (!File.Exists(s))
            {
                Directory.CreateDirectory(s);
            }

  System.Web.HttpContext.Current.Request.SaveAs(s,false);

怎么实现这个貌似只创建文件夹

库子的主页 库子 | 初学一级 | 园豆:5
提问于:2013-12-10 15:59
< >
分享
最佳答案
0
<input type="file" id="upload" name="upload" runat="server"/>
<input type="button" id="imgUpload" text="图片上传" runat="server" onclick="upload_click">

后台cs:

upload_click 里面:

        string uploadName = upload.Value;
        string pictureName = "";
        if (uploadName != "") 
        { 
            string[] arrExtension ={ ".gif", ".jpg", ".bmp", ".png" };
            int idx = uploadName.LastIndexOf(".");
            string suffix = uploadName.Substring(idx);//获得上传的图片的后缀名 

            if(arrExtension.Contains(suffix)
            {
                 pictureName = DateTime.Now.Ticks.ToString() + suffix; //加时间作为新的图片名

            }
        } 
        try 
        { 
            if (uploadName != "") 
            { 
                string path = Server.MapPath("~/images/"); 
                upload.PostedFile.SaveAs(path + pictureName); 
            } 
        } 
        catch (Exception ex) 
        { 
            Response.Write(ex); 
        } 
    } 
收获园豆:5
|WinKi| | 小虾三级 |园豆:669 | 2013-12-10 16:43

我不再客户端实现实现上传,客户端只做信息的传输,

具体的上传在业务逻辑里处理请问里面大概怎么写

库子 | 园豆:5 (初学一级) | 2013-12-10 16:49

@库子: 那你应该读取传输的内容,然后自己新建一个文件,把内容存进新建的文件中去。

chenping2008 | 园豆:9836 (大侠五级) | 2013-12-10 17:16

@库子:

前端选中图片,然后图片在业务逻辑里实现,

我能这样理解吗?

可以这样做,在业务逻辑定义个方法,如:

public class Upload{
    public bool imgUpload( FileUpload upload)
    {
         string uploadName = upload.Value; 
string pictureName = "";
if (uploadName != "")
{
string[] arrExtension ={ ".gif", ".jpg", ".bmp", ".png" };
int idx = uploadName.LastIndexOf(".");
string suffix = uploadName.Substring(idx);//获得上传的图片的后缀名
if(arrExtension.Contains(suffix) {
pictureName = DateTime.Now.Ticks.ToString() + suffix; //加时间作为新的图片名
}
}
try {
if (uploadName != "") {
string path = Server.MapPath("~/images/");
upload.PostedFile.SaveAs(path + pictureName);
return true;
}
}
catch (Exception ex) {
return false;
} } }


button_click 里面
Upload up = new Upload()
bool isUpload = up.imgUpload(upload)

 

|WinKi| | 园豆:669 (小虾三级) | 2013-12-10 17:33

@|WinKi|: 呀我脑子一时没转过来都忘了可以把这控件传进去啊

库子 | 园豆:5 (初学一级) | 2013-12-10 18:17
其他回答(1)
0

                HttpPostedFile file = context.Request.Files["Filedata"];//获取上传的文件数据.
                string fileName = Path.GetFileName(file.FileName);//获取上传文件的名称.
                string fileExt = Path.GetExtension(fileName);//得到文件的扩展名.

                file.SaveAs(context.Server.MapPath("/UploadImage/" + fileName));//把图片保存起来。

wolfy | 园豆:2636 (老鸟四级) | 2013-12-10 16:14

HttpPostedFile file = context.Request.Files["Filedata"];

这里面的filedata怎么讲 啊 上传文件的数据?指的是

是这样的我的UI那只做选取图片不做保存,我的上传是在业务里面来处理,当然图片的原始路径啊什么的我都会给传过来

支持(0) 反对(0) 库子 | 园豆:5 (初学一级) | 2013-12-10 16:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册