UploadFile图片上传案例

UploadFile图片上传案例

实现效果

点击上传图片按钮弹出一个窗口,选择图片路径,点击上传按钮上传成功在这里插入图片描述
在这里插入图片描述

HTML

<div id="WGHSupervisorInfoImage" class="easyui-window" modal="true" title="展示图片" closed="true" style="width:690px;height:400px;padding:5px;background: #fff;">
  <div class="easyui-layout" fit="true">
    <div region="north" border="false">
            <label>图片展示</label>
        </div>
           <div region="center" border="false" style="padding:5px;background:#fff;border:1px solid #ccc;">
    <div style="background:#efefef;padding:5px;width:650px;">
		<a href="javascript:void(0)" class="easyui-linkbutton" plain="true" iconCls="icon-add" onclick="open_WGHSupervisorInfoImageWindow()">上传图片</a>
		<a href="javascript:void(0)" class="easyui-linkbutton" plain="true" iconCls="icon-remove" onclick="del_WGHSupervisorInfo_image()">删除图片</a>
	</div>
    
    <div id="WGHSupervisorInfoImage_Panel" class="easyui-panel" style="width:663px; height:310px; margin-top:5px;">
        <ul>
        </ul>
    </div>
    </div>
</div>
</div>
<div id="WGHSupervisorInfoImageWindow" class = "easyui-window" title = "添加图片" closed="true" modal="true" iconCls="icon-save" style="width:400px;height:300px;padding:5px;background: #fff;">
    <div class = "easyui-layout" fit="true">
        <div region="center" border="false" style="padding:5px;background:#fff;border:1px solid #ccc;">
      
            <form id="formFile">
            <table width="350px;">
                <tr>
                    <td>
                        <input type="file" id="file_Img" name="file_Img" style="width: 300px" />
                    </td>
                    </tr>
                    <tr style="line-height:30px;">
                    <td valign="middle">
                        <a href="#" onclick="UploadFile()">上传</a>|<a href="#" onclick="CloseUploadFile()">取消上传</a>
                    </td>
                </tr>
            </table>
            </form>
        
        </div>
    </div>
</div>
//点击放大图片
<div id="outerdiv" style="position:fixed;top:0;left:0;background:rgba(0,0,0,0.7);z-index:999999;width:100%;height:100%;display:none;">
    <div id="innerdiv" style="position:absolute;">
        <img id="bigimg" style="border:5px solid #fff;" src="" />
    </div>
</div>

JS

//点击图片
 function GetSelectSupervisorInfoImage(obj) {
        $('#WGHSupervisorInfoImage ul li').css('background-color', '');
        $(obj).css('background-color', 'Gray');
        selectImg = obj;
        if ($(selectImg).find('img').length > 0) {
            lookImg("#outerdiv", "#innerdiv", "#bigimg", $(selectImg).find('img')[0].src);
        }

    }
    //放大图片
    function lookImg(outerdiv, innerdiv, bigimg, src) {
        $(bigimg).attr("src", src); //设置#bigimg元素的src属性  

        /*获取当前点击图片的真实大小,并显示弹出层及大图*/
        $("<img/>").attr("src", src).load(function () {
            var windowW = $(window).width(); //获取当前窗口宽度  
            var windowH = $(window).height(); //获取当前窗口高度  
            var realWidth = this.width; //获取图片真实宽度  
            var realHeight = this.height; //获取图片真实高度  
            var imgWidth, imgHeight;
            var scale = 0.8; //缩放尺寸,当图片真实宽度和高度大于窗口宽度和高度时进行缩放  

            if (realHeight > windowH * scale) {//判断图片高度  
                imgHeight = windowH * scale; //如大于窗口高度,图片高度进行缩放  
                imgWidth = imgHeight / realHeight * realWidth; //等比例缩放宽度  
                if (imgWidth > windowW * scale) {//如宽度扔大于窗口宽度  
                    imgWidth = windowW * scale; //再对宽度进行缩放  
                }
            } else if (realWidth > windowW * scale) {//如图片高度合适,判断图片宽度  
                imgWidth = windowW * scale; //如大于窗口宽度,图片宽度进行缩放  
                imgHeight = imgWidth / realWidth * realHeight; //等比例缩放高度  
            } else {//如果图片真实高度和宽度都符合要求,高宽不变  
                imgWidth = realWidth;
                imgHeight = realHeight;
            }
            $(bigimg).css("width", imgWidth); //以最终的宽度对图片缩放  

            var w = (windowW - imgWidth) / 2; //计算图片与窗口左边距  
            var h = (windowH - imgHeight) / 2; //计算图片与窗口上边距  
            $(innerdiv).css({ "top": h, "left": w }); //设置#innerdiv的top和left属性  
            $(outerdiv).fadeIn("fast"); //淡入显示#outerdiv及.pimg  
        });

        $(outerdiv).click(function () {//再次点击淡出消失弹出层  
            $(this).fadeOut("fast");
        });

    }

    //删除图片
    function del_WGHSupervisorInfo_image() {
        if ($(selectImg).find('img').length > 0) {
            var Path;
            if ($(selectImg).find('img')[0].nameProp == undefined) {
                var List = $(selectImg).find('img')[0].src.split('/');
                Path = List[List.length - 1];
            }
            else {
                Path = $(selectImg).find('img')[0].nameProp;
            }
            $.post(
                "/Supervisor/DelSupervisorInfoImage",
                { SupervisorInfoId: $('#WGHSupervisorInfoDataPage').datagrid('getSelections')[0].Id, Path: Path },
                function (data, textStatus) {
                    if (textStatus == "success") {
                        $(selectImg).remove();
                        $('#WGHSupervisorInfoDataPage').datagrid('reload');
                        selectImg = null;
                    }
                },
                "json"
            );
        }
    }

//读取图片,图片可以是多张以列表的形式显示
    function GetPathList(obj) {
        $.post(
               "/Supervisor/GetPathList",
                {
                    Id: obj
                },
                function (data, textStatus) {
                    if (textStatus == "success") {
                        if (data.length > 0) {
                            $('#WGHSupervisorInfoImage_Panel ul').empty();
                       
                            for (var i = 0; i < data.length; i++) {
                              
                                var aa = "img" + (i + 1);
                              
                                var imgArry = data[i].img_path.split('/');
                              
                                $('#WGHSupervisorInfoImage ul').append("<li οnclick=\"GetSelectSupervisorInfoImage(this)\" ><img src='" + data[i].img_path + "' /></li>");
                            }

                        }
                    }
                },
                "json"
            );
    }
    //保存图片
    function UploadFile() {
        var Id = $("#WGHSupervisorInfoDataPage").datagrid('getSelections')[0].Id;
        $.ajaxFileUpload({
            url: '/Supervisor/UpdateLoad', //用于文件上传的服务器端请求地址
            secureuri: false, //一般设置为false,是否安全上传
            fileElementId: 'file_Img', //文件上传控件的id属性
            dataType: 'json', //返回值类型 一般设置为json 期望服务器传回的数据类型
            success: function (datas, status)  //服务器成功响应处理函数
            {
                if (typeof (datas.error) != 'undefined') {
                    if (datas.error != "") {
                        if (datas.error == "1") {
                            $.messager.alert("提示", "您上传的附件不符合格式");
                        }
                        else {
                            $.post(
                            "/Supervisor/SaveUploadFile",
                             {
                                 Id: Id, path: datas.ImgPath, FileName: datas.oldFileName
                             },
                             function (data, textStatus) {
                                 if (textStatus == "success") {
                                     if (data == "1") {
                                         GetPathList(Id);
                                         $('#WGHSupervisorInfoImageWindow').window('close');
                                         $.messager.alert('成功', '附件上传成功!');
                                         $('#WGHSupervisorInfoDataPage').datagrid('reload');
                                     }
                                     else {
                                         $.messager.alert("失败", "附件上传失败!");
                                     }
                                 }
                             },'json'
                            );
                        }
                    }
                }
             }, error: function (datas, status, e)//服务器响应失败处理函数
             {
                 $.messager.alert('提示', e, "info");
             }
        })

     }
 //关闭图片窗口
    function CloseUploadFile() {
        $('#formFile').form('clear');
        $('#WGHSupervisorInfoImageWindow').window('close');
    }

后台方法

//图片上传的路径
  public ActionResult UpdateLoad()
        {
            string error = "";//返回结果
            string msg = "";//状态
            string url = "";//保存的物理路径 

            //上传附件
            string newFileName = System.Guid.NewGuid().ToString();  //新的附件名称
            string ExtensionName = Path.GetExtension(Request.Files[0].FileName).ToLower();//扩展名小写
            string filename = Path.GetFileNameWithoutExtension(Request.Files[0].FileName);
            string[] filespli = filename.Split('/');
            string oldFileName = filespli[filespli.Length - 1];//Path.GetFileNameWithoutExtension(Request.Files[0].FileName); //获取文件名称

            if (ExtensionName != ".jpg" && ExtensionName != ".png" && ExtensionName != ".gif" && ExtensionName != ".bmp")
            {
                error = "1";
                msg = "上传失败,不允许上传以" + ExtensionName + "结尾的附件";
            }
            else
            {
                string ImgPath = Server.MapPath("/UploadImage/Wholesale/" + newFileName + ExtensionName);
                Request.Files[0].SaveAs(ImgPath);//上传
                url = "/UploadImage/Wholesale/" + newFileName + ExtensionName;
                error = "0";
            }
            string res = "{error:'" + error + "',msg:'" + msg + "',ImgPath:'" + url + "',oldFileName:'" + oldFileName + "'}";
            return Content(res);
        }

其他的后台方法自己写吧!!!!!!!!!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用uniapp.uploadFile API来上传文件,详细的使用方法可以参考官方文档:https://uniapp.dcloud.io/api/plugins/uniapp-plugin-dcloud-ios-uploadfile ### 回答2: 在uniapp中使用uni.uploadFile方法进行文件上传是很常见的。要使用uni.uploadFile方法,首先需要在项目中引入uni这个全局变量,可通过如下方式进行引入: import uni from '@dcloudio/uni-app' 然后,在需要进行文件上传的地方调用uni.uploadFile方法。该方法有几个参数,包括: 1. url:表示文件上传的地址,即服务器端接口地址; 2. filePath:表示要上传的文件路径,可以是临时文件路径或永久文件路径; 3. name:表示服务端接收的文件字段名; 4. header:表示请求头信息,可以根据需要设置; 5. formData:表示额外的请求参数,可以根据需要设置; 6. success:表示上传成功后的回调函数; 7. fail:表示上传失败后的回调函数。 以下是一个简单示例: uni.uploadFile({ url: 'http://yourserver/upload', // 替换成你的服务器接口地址 filePath: 'path/to/file', // 替换成要上传的文件路径 name: 'file', // 替换成服务端接收的文件字段名 header: { 'Content-Type': 'multipart/form-data' // 设置请求头信息 }, formData: { 'user': 'test' // 设置额外的请求参数 }, success: (res) => { console.log(res.data) // 上传成功后的处理 }, fail: (err) => { console.log(err) // 上传失败后的处理 } }) 以上就是使用uniapp的uni.uploadFile方法进行文件上传的简单示例。根据实际需求,可以根据参数的不同设置更多的选项,进一步定制上传功能。 ### 回答3: 在Uniapp中,可以使用uni.uploadFile方法来实现文件上传操作。具体的使用步骤如下: 1. 在uniapp的页面中创建一个按钮,并绑定点击事件: ``` <template> <button @click="uploadFile">上传文件</button> </template> ``` 2. 在对应的vue实例中编写uploadFile方法,实现文件上传的逻辑: ``` <script> export default { methods: { uploadFile() { uni.chooseImage({ count: 1, // 选择的图片数量 success: (res) => { const tempFilePaths = res.tempFilePaths uni.uploadFile({ url: 'http://example.com/upload', // 上传文件的接口地址 filePath: tempFilePaths[0], // 要上传的文件路径 name: 'file', // 上传文件对应的 key 名称 formData: { // 其他额外的请求参数 user: 'abc' }, success: (res) => { console.log(res.data) // 上传成功后的响应数据 uni.showToast({ title: '上传成功', icon: 'success' }) }, fail: (err) => { console.log(err) // 上传失败的错误信息 uni.showToast({ title: '上传失败', icon: 'none' }) } }) }, fail: (err) => { console.log(err.errMsg) // 选择图片失败的错误信息 uni.showToast({ title: '选择图片失败', icon: 'none' }) } }) } } } </script> ``` 3. 在上传文件的接口地址处,根据实际情况进行配置。上传成功后,可以在success回调函数中处理上传成功的提示信息;上传失败后,可以在fail回调函数中处理上传失败的提示信息。 需要注意的是,uni.uploadFile方法需要先调用uni.chooseImage方法选择文件,然后再调用uni.uploadFile方法上传文件。通过配置url、filePath、name、formData等参数,可以进行文件上传操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值