栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在ASP.NET MVC中执行图像的Ajax / JQuery上传?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在ASP.NET MVC中执行图像的Ajax / JQuery上传?

我已经使用了这个jQuery插件几次。
我将上传按钮放在使用 PopupImageUploader* 元素的jQuery
UI模态对话框
中。
*

<div id="PopupImageUploader" title="Upload Image">    <div id="uploaderFile"></div></div>

和我的javascript构建 upladerFile 元素上的上载

function CreateImageUploader() {    var uploader = new qq.FileUploader({        element: $('#uploaderFile')[0],        template: '<div >' +        '<div ><span>Drop files here to upload</span></div>' +        '<div >Seleziona il Listino Excel</div>' +        '<ul ></ul>' +        '</div>',        hoverClass: 'ui-state-hover',        focusClass: 'ui-state-focus',        action: 'Home/UploadImage',        allowedExtensions: ['jpg', 'gif'],        params: { },        onSubmit: function(file, ext) { },        onComplete: function(id, fileName, responseJSON) { $("#PopupImageUploader").dialog('close'); }        }    });}

您可以使用 onComplete 事件来检查上传结果,并最终更新您的下拉列表。您的 UploadImage 动作可以接收在

params:{ }
属性中指定的额外参数。这是我的控制器:

    [HttpPost()]    public System.String UploadImage(string id)    {        bool IsIE = false;        string sFileName = "";        var TempFolder = Path.Combine(AppDomain.CurrentDomain.baseDirectory, "_TEMP");        if ((Request.Files == null) || (Request.Files.Count == 0))        { if (string.IsNullOrEmpty(Request.Params["qqfile"])) {     return ("{success:false, error:'request file is empty'}"); } else {     sFileName = Request.Params["qqfile"].ToString(); }        }        else        { sFileName = Request.Files[0].FileName; IsIE = true;        }        if (string.IsNullOrEmpty(sFileName))        { return ("{success:false, error:'request file is empty'}");        }        string documentName = id + Path.GetExtension(sFileName);        if (IsIE)        { try {     Request.Files[0].SaveAs(Path.Combine(TempFolder, documentName)); } catch (Exception ex) {     return ("{success:false, error:'" + ex.Message + "'}"); }        }        else        { try {     if ((Request.InputStream != null) && (Request.InputStream.CanRead) && (Request.InputStream.Length > 0))     {         using (FileStream fileStream = new FileStream(Path.Combine(TempFolder, documentName), FileMode.Create))         {  byte[] FileBytes = new byte[Convert.ToInt32(Request.InputStream.Length) + 1];  Int32 bytesRead = 0;  bytesRead = Request.InputStream.Read(FileBytes, 0, FileBytes.Length);  fileStream.Write(FileBytes, 0, bytesRead);  fileStream.Flush();  fileStream.Close();         }     } } catch (Exception ex) {     return ("{success:false, error:'" + ex.Message + "'}"); }        }        var newFileName = "new assigned filename";        return ("{success:true, newfilename: '" + newFileName + "'}");    }

IE具有不同的行为,因此我有两个不同的过程来读取文件。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/393442.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号