【home88一必发】文件操作命令,微信小程序完毕图片上传作用

by admin on 2019年2月11日

Rename 命令:  

home88一必发 1home88一必发 2        /**//// <summary>
home88一必发 3        /// 上传文件,上传成功后回来一个 string 型的所上传文件名 上传文件无法当先3.5M
home88一必发 4        /// </summary>
home88一必发 5        /// <param name=”UpFileInput”>上传文件所用的控件的ID</param>
home88一必发 6        /// <param name=”FileSavePath”>上传文件保留的途径(与上传页的相对路径)</param>
home88一必发 7        /// <param name=”P”>Web窗体页</param>
home88一必发 8        /// <returns>上传文件的公文名 String</returns>
home88一必发 9        public string PubUpFile(System.Web.UI.HtmlControls.HtmlInputFile UpFileInput,string FileSavePath,Page P)
home88一必发 10home88一必发 11        home88一必发 12{
home88一必发 13            if(UpFileInput.PostedFile.ContentLength < 3000 * 1024)
home88一必发 14home88一必发 15            home88一必发 16{
home88一必发 17                //检查提供的目录是不是留存,如不存在则创制
home88一必发 18                PubExDirectory(FileSavePath,P);
home88一必发 19                //获娶上传文件的文本名,并保留到指定的目录
home88一必发 20                string UpFileName;
home88一必发 21                if(UpFileInput.PostedFile.FileName.LastIndexOf(“\\”)    !=    -1)
home88一必发 22home88一必发 23                home88一必发 24{
home88一必发 25                    UpFileName    =    UpFileInput.PostedFile.FileName.Substring(UpFileInput.PostedFile.FileName.LastIndexOf(“\\”),UpFileInput.PostedFile.FileName.Length – UpFileInput.PostedFile.FileName.LastIndexOf(“\\”));
home88一必发 26                }
home88一必发 27                else
home88一必发 28home88一必发 29                home88一必发 30{
home88一必发 31                    UpFileName    =    “\\” + UpFileInput.PostedFile.FileName;
home88一必发 32                }
home88一必发 33
home88一必发 34                UpFileInput.PostedFile.SaveAs(P.Server.MapPath(FileSavePath + UpFileName));
home88一必发 35                return FileSavePath + UpFileName;
home88一必发 36            }
home88一必发 37            else
home88一必发 38home88一必发 39            home88一必发 40{
home88一必发 41                    P.Response.Write(“<Script Language=\”JavaScript\”>\n<!–\n alert(\”上传文件不大概领先3M,请接纳正确的文本!\”)\n //–>\n</Script>”);
home88一必发 42                    return “”;
home88一必发 43
home88一必发 44            }
home88一必发 45        }
home88一必发 46

1、FileSystemWatcher用途:

本文转自:

  //
描述: 
 

  FileSystem沃特cher
元件用來監視檔案系統,而當檔案系統所蕴藏的目錄或檔案變更時,也得以行使它來回應。這讓您能夠在特定檔案或目錄被确立、修改或刪除時火速且易于啟動商務處理流程。
【home88一必发】文件操作命令,微信小程序完毕图片上传作用。注:FileSystem沃特cher元件是設計來監視目錄內的變更,而不是根目錄屬性自己的變更。Changed:變更目錄或檔案的高低、系統屬性、上次寫入時間、上次存取時間或安全性權限時引發。

前端: 微信开发者工具

    重命名文件或目录。

  2、FileSystem沃特cher常用屬性
名称                                                说明

后端:.Net

  //
语法:

EnableRaising伊芙nts                    
获取或设置一个值,该值提示是或不是启用此部件。

服务器:阿里云

    rename
[<Drive>:][<Path>]<FileName1>
<FileName2>

Filter                                               获取或安装筛选字串,用于确定在目录中监视哪些项目的文书。

那边介绍微信小程序如何贯彻上传图片到温馨的服务器上

  //
参数:

IncludeSubdirectories                    
获取或安装一个值,该值提醒是还是不是监视指定路线中的子目录。

前端代码

    

InternalBufferSize                           
获取或设置内部缓存区的尺寸。

 

  //
说明:

NotifyFilter                                      
获取或设置监视的转移项目。

[javascript] view
plain
copy
print?

    –>
指定要重命名的文书或文件集的地点和称号。文件名可以分包通配符(*和?)。

Path                                                
获取或安装监视的目录路径。

  1. data: {  
  2.   productInfo: {}  
  3. },  
  4. //添加Banner  
  5. bindChooiceProduct: function () {  
  6.   var that = this;  
  7.   
  8.   wx.chooseImage({  
  9.     count: 3,  //最多可以选择的图样总数  
  10.     sizeType: [‘compressed’]home88一必发,, // 可以指定是原图依然压缩图,暗许二者都有  
  11.     sourceType: [‘album’, ‘camera’], // 可以指定来源是相册仍旧相机,暗中同意二者都有  
  12.     success: function (res) {  
  13.       // 重返选定照片的当地文件路径列表,tempFilePath可以看成img标签的src属性突显图片  
  14.       var tempFilePaths = res.tempFilePaths;  
  15.       //启动上传等待中…  
  16.       wx.showToast({  
  17.         title: ‘正在上传…’,  
  18.         icon: ‘loading’,  
  19.         mask: true,  
  20.         duration: 10000  
  21.       })  
  22.       var uploadImgCount = 0;  
  23.       for (var i = 0, h = tempFilePaths.length; i < h; i++) {  
  24.         wx.uploadFile({  
  25.           url: util.getClientSetting().domainName + ‘/home/uploadfilenew’,  
  26.           filePath: tempFilePaths[i],  
  27.           name: ‘uploadfile_ant’,  
  28. 【home88一必发】文件操作命令,微信小程序完毕图片上传作用。          formData: {  
  29.             ‘imgIndex’: i  
  30.           },  
  31.           header: {  
  32.             “Content-Type”: “multipart/form-data”  
  33.           },  
  34.           success: function (res) {  
  35.             uploadImgCount++;  
  36.             var data = JSON.parse(res.data);  
  37.             //服务器再次回到格式: { “Catalog”: “testFolder”, “FileName”: “1.jpg”, “Url”: “” }  
  38.             var productInfo = that.data.productInfo;  
  39.             if (productInfo.bannerInfo == null) {  
  40.               productInfo.bannerInfo = [];  
  41.             }  
  42.             productInfo.bannerInfo.push({  
  43.               “catalog”: data.Catalog,  
  44.               “fileName”: data.FileName,  
  45.               “url”: data.Url  
  46.             });  
  47.             that.setData({  
  48.               productInfo: productInfo  
  49.             });  
  50.   
  51.             //假使是最终一张,则藏身等待中  
  52.             if (uploadImgCount == tempFilePaths.length) {  
  53.               wx.hideToast();  
  54.             }  
  55.           },  
  56.           fail: function (res) {  
  57.             wx.hideToast();  
  58.             wx.showModal({  
  59.               title: ‘错误提示’,  
  60.               content: ‘上传图片败北’,  
  61.               showCancel: false,  
  62.               success: function (res) { }  
  63.             })  
  64.           }  
  65.         });  
  66.       }  
  67.     }  
  68.   });  
  69. }  

    data: {
    productInfo: {}
    },
    //添加Banner
    bindChooiceProduct: function () {
    var that = this;

    wx.chooseImage({

    count: 3,  //最多可以选择的图片总数
    sizeType: ['compressed'], // 可以指定是原图还是压缩图,默认二者都有
    sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
    success: function (res) {
      // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片
      var tempFilePaths = res.tempFilePaths;
      //启动上传等待中...
      wx.showToast({
        title: '正在上传...',
        icon: 'loading',
        mask: true,
        duration: 10000
      })
      var uploadImgCount = 0;
      for (var i = 0, h = tempFilePaths.length; i < h; i++) {
        wx.uploadFile({
          url: util.getClientSetting().domainName + '/home/uploadfilenew',
          filePath: tempFilePaths[i],
          name: 'uploadfile_ant',
          formData: {
            'imgIndex': i
          },
          header: {
            "Content-Type": "multipart/form-data"
          },
          success: function (res) {
            uploadImgCount++;
            var data = JSON.parse(res.data);
            //服务器返回格式: { "Catalog": "testFolder", "FileName": "1.jpg", "Url": "https://test.com/1.jpg" }
            var productInfo = that.data.productInfo;
            if (productInfo.bannerInfo == null) {
              productInfo.bannerInfo = [];
            }
            productInfo.bannerInfo.push({
              "catalog": data.Catalog,
              "fileName": data.FileName,
              "url": data.Url
            });
            that.setData({
              productInfo: productInfo
            });
    
            //如果是最后一张,则隐藏等待中
            if (uploadImgCount == tempFilePaths.length) {
              wx.hideToast();
            }
          },
          fail: function (res) {
            wx.hideToast();
            wx.showModal({
              title: '错误提示',
              content: '上传图片失败',
              showCancel: false,
              success: function (res) { }
            })
          }
        });
      }
    }
    

    });
    }

    –> 重命名文件时,不或然指定新驱动器或路径。  

SynchronizingObject                        获取或安装一个对象,该对象用于封装因目录更改而发出的事件处理程式调用。

后端上传代码(将文件上传出服务器临时文件夹内)

    –> 文件名必须是绝无仅有的文件名。 

  3、FileSystem沃特cher常用事件

 

  //
实例:    

名称                                                说明

 

 
  home88一必发 47

Changed                                         当更改指定Path中的文件和目录时暴发。

[csharp] view
plain
copy
print?

    home88一必发 48

Created                                           
当在指定Path中开创文件或目录时发出。

  1. [HttpPost]  
  2. public ContentResult UploadFileNew()  
  3. {  
  4.     UploadFileDTO model = new UploadFileDTO();  
  5.     HttpPostedFileBase file = Request.Files[“uploadfile_ant”];  
  6.     if (file != null)  
  7.     {  
  8.         //集团编号+上传日期文件主目录  
  9.         model.Catalog = DateTime.Now.ToString(“yyyyMMdd”);  
  10.         model.ImgIndex = Convert.ToInt32(Request.Form[“imgIndex”]);  
  11.   
  12.         //获取文件后缀  
  13.         string extensionName = System.IO.Path.GetExtension(file.FileName);  
  14.   
  15.         //文件名  
  16.         model.FileName = System.Guid.NewGuid().ToString(“N”) + extensionName;  
  17.   
  18.         //保存文件路径  
  19.         string filePathName = System.IO.Path.Combine(CommonHelper.GetConfigValue(“ImageAbsoluteFolderTemp”), model.Catalog);  
  20.         if (!System.IO.Directory.Exists(filePathName))  
  21.         {  
  22.             System.IO.Directory.CreateDirectory(filePathName);  
  23.         }  
  24.         //绝对路径  
  25.         string relativeUrl = CommonHelper.GetConfigValue(“ImageRelativeFolderTemp”);  
  26.         file.SaveAs(System.IO.Path.Combine(filePathName, model.FileName));  
  27.   
  28.         //获取临时文件相对完好路径  
  29.         model.Url = System.IO.Path.Combine(relativeUrl, model.Catalog, model.FileName).Replace(“\\”, “/”);  
  30.     }  
  31.     return Content(Newtonsoft.Json.JsonConvert.SerializeObject(model));  
  32. }  

    [HttpPost]
    public ContentResult UploadFileNew()
    {

    UploadFileDTO model = new UploadFileDTO();
    HttpPostedFileBase file = Request.Files["uploadfile_ant"];
    if (file != null)
    {
        //公司编号+上传日期文件主目录
        model.Catalog = DateTime.Now.ToString("yyyyMMdd");
        model.ImgIndex = Convert.ToInt32(Request.Form["imgIndex"]);
    
        //获取文件后缀
        string extensionName = System.IO.Path.GetExtension(file.FileName);
    
        //文件名
        model.FileName = System.Guid.NewGuid().ToString("N") + extensionName;
    
        //保存文件路径
        string filePathName = System.IO.Path.Combine(CommonHelper.GetConfigValue("ImageAbsoluteFolderTemp"), model.Catalog);
        if (!System.IO.Directory.Exists(filePathName))
        {
            System.IO.Directory.CreateDirectory(filePathName);
        }
        //相对路径
        string relativeUrl = CommonHelper.GetConfigValue("ImageRelativeFolderTemp");
        file.SaveAs(System.IO.Path.Combine(filePathName, model.FileName));
    
        //获取临时文件相对完整路径
        model.Url = System.IO.Path.Combine(relativeUrl, model.Catalog, model.FileName).Replace("\\", "/");
    }
    return Content(Newtonsoft.Json.JsonConvert.SerializeObject(model));
    

    }

 

Deleted                                           
删除指定Path中的文件或目录时发出。

[csharp] view
plain
copy
print?

Error                                               
当其中缓存区溢出是发出。

  1. /// <summary>  
  2. /// 上传文件 再次回到数据模型  
  3. /// </summary>  
  4. public class UploadFileDTO  
  5. {  
  6.     /// <summary>  
  7.     /// 目录名称  
  8.     /// </summary>  
  9.     public string Catalog { set; get; }  
  10.     /// <summary>  
  11.     /// 文件名称,蕴涵扩展名  
  12.     /// </summary>  
  13.     public string FileName { set; get; }  
  14.     /// <summary>  
  15.     /// 浏览路径  
  16.     /// </summary>  
  17.     public string Url { set; get; }  
  18.     /// <summary>  
  19.     /// 上传的图样编号(提须要前端判断图片是或不是全部上传完)  
  20.     /// </summary>  
  21.     public int ImgIndex { get; set; }  
  22. }  

    ///

    /// 上传文件 返回数据模型
    ///

    public class UploadFileDTO
    {
        ///

        /// 目录名称
        ///

        public string Catalog { set; get; }
        ///

        /// 文件名称,包括扩展名
        ///

        public string FileName { set; get; }
        ///

        /// 浏览路径
        ///

        public string Url { set; get; }
        ///

        /// 上传的图片编号(提供给前端判断图片是否全部上传完)
        ///

        public int ImgIndex { get; set; }
    }

Renamed                                         重命名指定Path
中的文件或目录时爆发。

[csharp] view
plain
copy
print?

  4、FileSystem沃特cher中Filter屬性通配符說明
筛选字串                                            监视下列文件

  1. #region 获取配置文件Key对应Value值  
  2. /// <summary>  
  3. /// 获取配置文件Key对应Value值  
  4. /// </summary>  
  5. /// <param name=”key”></param>  
  6. /// <returns></returns>  
  7. public static string GetConfigValue(string key)  
  8. {  
  9.     return ConfigurationManager.AppSettings[key].ToString();  
  10. }  
  11. #endregion  

    #region 获取配置文件Key对应Value值
    ///

    /// 获取配置文件Key对应Value值
    ///

    /// ///
    public static string GetConfigValue(string key)
    {

    return ConfigurationManager.AppSettings[key].ToString();
    

    }
    #endregion

*.*                                                     
所有文件(预设值)。空字串(””)同样监视所有文件。

安装配置文件上传文件对应的文书夹新闻

*.txt                                                   
具有“Txt”扩大名的有所文件。

 

*recipe.doc                                        文件名以“recipe”结尾且具备“Doc”增添名的享有文件。

 

win*.xml                                              文件名以“win”开端且具备“xml”扩大名的保有文件。 
Sales*200?.xls                                    匹配下列文件:

[html] view
plain
copy
print?

                                                            Sales July
2001.xls,Sales Aug 2002.xls,Sales March 2003.xls

  1. <appSettings>  
  2.   <!–图片临时文件夹 相对路径–>  
  3.   <add key=”ImageAbsoluteFolderTemp” value=”D:\Images\temp” />  
  4.   <!–图片正式文件夹 相对路径–>  
  5.   <add key=”ImageAbsoluteFolderFinal” value=”D:\Images\product” />  
  6.   
  7.   <!–图片临时文件夹 相对路径–>  
  8.   <add key=”ImageRelativeFolderTemp” value=”;  
  9.   <!–图片正式公文夹 相对路径–>  
  10.   <add key=”ImageRelativeFolderFinal” value=”;  
  11. </appSettings>  









                                                           不匹配:

PS:上传到服务器的临时文件夹内,当用户点击保存才把这个文件移动到专业目录下

                                                             Sales Now
1999.xls

 

MyReport.Doc                                       只监视MyReport.Doc

欢迎到场自身的微信小程序技术交换群

  5、FileSystem沃特cher中NotifyFilter枚舉值說明
分子名称                                                  表达

home88一必发 49

Attributes                                                 
文件或文件夹的习性

 

CreationTime                                            文件或文件夹的创立即间。

DirectoryName                                           目录名。

FileName                                                    文件名

LastAccess                                               
文件或文件夹上次打开的时间、

LastWrite                                                  
上一遍向文件或文件夹写入内容的日子。

Security                                                     
文件或文件夹的平安设置。

Size                                                             文件或文件夹的大大小小。
  以上可組合此枚舉的成員以監視多種改成。組合時用“|”連接。

  6、使用办法:
  在窗體中拖入FileSystem沃特cher控制項。
  設定需求用的轩然大波
  編寫事件措施

以身作则代码:

using
System.IO;
namespace FileSystemWatcherDemo
{
public partial class Form1
: Form
{
public Form1()
{
InitializeComponent();
UsingFileSystemWatcher();
}
///<summary>
/// 使用FileSystemWatcher方法
///</summary>
        void
UsingFileSystemWatcher()
{
//6.2
//FileSystem沃特cher:侦听文件系统更改文告,并在目录或目录中的文件发出变动时引发事件。
//获取或设置要监视的目录的路径。
            fswWatcher.Path
=@”D:\upload”;
//获取或设置要监视的改动项目。
            fswWatcher.NotifyFilter
= NotifyFilters.LastWrite|NotifyFilters.FileName|NotifyFilters.LastAccess ;
//获取或安装筛选字符串,用于确定在目录中监视哪些文件。
//此處只可以監控某一種文件,不能够監控件多種文本,但可以監控所有文件
            fswWatcher.Filter
=”*.doc”;
//获取或设置一个值,该值提示是还是不是监视指定路线中的子目录。
           
fswWatcher.IncludeSubdirectories =true;
#region 6.3 觸發的轩然大波
//文件或目錄創建時事件
            fswWatcher.Created
+=new
FileSystemEventHandler(fswWatcher_Created);
//文件或目錄變更時事件
            fswWatcher.Changed
+=new
FileSystemEventHandler(fswWatcher_Changed);
//文件或目錄重命名時事件
            fswWatcher.Renamed
+=new
RenamedEventHandler(fswWatcher_Renamed);
//文件或目錄刪除時事件
            fswWatcher.Deleted
+=new
FileSystemEventHandler(fswWatcher_Deleted);
#endregion
//获取或设置一个值,该值提醒是不是启用此组件。
           
fswWatcher.EnableRaisingEvents =true;
}
#region 6.4 觸發事件的法门
///<summary>
/// 文件或目錄創建時事件措施
///</summary>
///<param
name=”sender”></param>
///<param name=”e”></param>
        void
fswWatcher_Created(object
sender, FileSystemEventArgs e)
{
MessageBox.Show(“有新文件”);
}
///<summary>
/// 文件或目錄變更時事件的方法
///</summary>
///<param
name=”sender”></param>
///<param name=”e”></param>
        void
fswWatcher_Changed(object
sender, FileSystemEventArgs e)
{
}
///<summary>
/// 文件或目錄重命名時事件的办法
///</summary>
///<param
name=”sender”></param>
///<param name=”e”></param>
        void
fswWatcher_Renamed(object
sender, RenamedEventArgs e)
{
}
///<summary>
/// 文件或目錄刪除時事件的主意
///</summary>
///<param
name=”sender”></param>
///<param name=”e”></param>
        void
fswWatcher_Deleted(object
sender, FileSystemEventArgs e)
{
}
#endregion
}
}

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图