1. 程式人生 > >【開源】1句程式碼搞定圖片批量上傳,無需什麼程式碼功底【無語言界限】

【開源】1句程式碼搞定圖片批量上傳,無需什麼程式碼功底【無語言界限】

/// <summary>
        /// 圖片上傳
        /// </summary>
        /// <returns></returns>
        public JsonResult Upload(HttpPostedFileBase file)
        {
            if (file == null) { return Json(new { status = false, msg = "圖片提交失敗" }); }
            if (file.ContentLength > 10485760) { return Json(new { status = false, msg = "檔案10M以內" }); }
            string filterStr = ".gif,.jpg,.jpeg,.bmp,.png";
            string fileExt = Path.GetExtension(file.FileName).ToLower();
            if (!filterStr.Contains(fileExt)) { return Json(new { status = false, msg = "圖片格式不對" }); }
            //防止黑客惡意繞過,從根本上判斷下檔案字尾
            if (!file.InputStream.CheckingExt())
            {
                //todo:一次危險記錄
                return Json(new { status = false, msg = "圖片格式不對" });
            }
            //todo: md5判斷一下檔案是否已經上傳過,如果已經上傳直接返回 return Json(new { status = true, msg = sqlPath });

            string path = string.Format("{0}/{1}", "/lotFiles", DateTime.Now.ToString("yyyy-MM-dd"));
            string fileName = string.Format("{0}{1}", Guid.NewGuid().ToString("N"), fileExt);
            string sqlPath = string.Format("{0}/{1}", path, fileName);
            string dirPath = Request.MapPath(path);

            if (!Directory.Exists(dirPath)) { Directory.CreateDirectory(dirPath); }
            try
            {
                //todo:縮圖
                file.SaveAs(Path.Combine(dirPath, fileName));
                //todo: 未來寫存資料庫的Code
            }
            catch { return Json(new { status = false, msg = "圖片儲存失敗" }); }
            return Json(new { status = true, msg = sqlPath });
        }

相關推薦

開源1程式碼圖片批量無需什麼程式碼功底語言界限

/// <summary> /// 圖片上傳 /// </summary> /// <returns></returns> public JsonResult Upload(HttpPo

開源簡單4步QQ登入無需什麼程式碼功底語言界限

說17號發超簡單的教程就17號,qq核審通過後就封裝了這個,現在放出來~~ 這個是我封裝的一個開源專案:https://github.com/dunitian/LoTQQLogin ———————————————————————————————————————————— 先申請一下 建立一個應用

開源簡單4步QQ登入無需什麼程式碼功底語言界限下 ~ Net程式設計師的福利

這次我們專門為Net程式設計師準備一個專版(其他方向的看通用封裝即可,使用起來很簡單) 做個簡單的案例:(EF+MVC) 1.先看一下自己的appid 2.前臺一系列設定:(圖片看不見的話點開看,會放大的) 3.資料庫設計(簡單版本) 4.Model類 5.後臺處理(不同框架處

Android拍照預覽綜合修改

最近需要做手機拍照【兩種方式:呼叫系統相機(部落格最後);自己寫照相機佈局】,預覽,上傳功能。特地研究了下android的手機拍照。 參考地址: http://blog.csdn.net/cfwdl/article/details/5746708 http://mjbb.iteye.co

一份程式碼STL系列:佇列

佇列:Queue 定義一個佇列: queue< typename > q。 queue是不能使用下標訪問的。只能使用q.front() 和 q.back() 來訪問。 如果想要訪問所有

Java開源Thumbnailator輕鬆圖片縮放、旋轉、加水印

概述 Thumbnailator 是一個開源的 Java 專案,它提供了非常簡單的 API 來對圖片進行縮放、旋轉以及加水印的處理。 有多簡單呢?簡單到一行程式碼就可以完成圖片處理。形式如下:Thumbnails.of(new File("path/to/direct

PowerQuery如何一行程式碼做了一萬遍的工資條

學過excel同學,工資條做了一萬遍。 前面已經瞭解了Excel、VBA、Python實現工資條,今天嘗試用PQ做一遍 做之前迷惑了很久,如何能自定義長度    Table有Repeat函式,但是List沒有。看來另外想辦法        一步

路由達人簡單兩步小米路由新增功能-DDNS(解析域名地址轉向在線工具)

固定ip cells hot ddn mic width cin spa family DDNS(Dynamic Domain Name Server)是動態域名服務的縮寫! 簡單來說目前ISP大多為我們提供動態IP(如ADSL撥號上網),而很多設備或服務需要通過遠

程式碼陣列去重 Set()

[...new Set([1, "1", -1, 1,2,3,4,5, 1, 3])] (7) [1, "1", -1, 2, 3, 4, 5] 哈哈  有木有很神奇; Set是ES6提供的新的資料結構,類似於陣列,但是值都是唯一的,不會有重複的值; Set本身是一個建構函

白話經典算法系列之六 快速排序 快速

快速排序由於排序效率在同為O(N*logN)的幾種排序方法中效率較高,因此經常被採用,再加上快速排序思想----分治法也確實實用,因此很多軟體公司的筆試面試,包括像騰訊,微軟等知名IT公司都喜歡考這個,還有大大小的程式方面的考試如軟考,考研中也常常出現快速排序的身影。 總

乾貨!!懂 Redis 快取穿透、擊穿、雪崩

前言 如何有效的理解並且區分 Reids 穿透、擊穿和雪崩之間的區別,一直以來都挺困擾我的。特別是穿透和擊穿,過一段時間就稀裡糊塗的分不清了。 為了有效的幫助筆者自己,以及擁有同樣煩惱的朋友們區分這三種場景。筆者總結了一些關鍵詞,希望大家可以和我一樣通過聯想的方式來區分並理解這三種場景的區別! 快取穿透: 關

我沒有前端經驗1天就開源專案主頁

## 前言 前段時間打算為自己的開源專案做一個主頁,一方面有個好的門面能提升專案的關注度,一方面也能對專案所涉及的資源做一個整合。 其實原先專案已經有一個文件主頁,比較簡潔,大致長這樣: ![04b3mF.png](https://img2020.cnblogs.com/other/268224/202

專案實踐手把手帶你SSM

> 以專案驅動學習,以實踐檢驗真知 # 前言 現在使用Java後端開發使用的技術棧基本上比較統一:Spring + SpringMVC + Mybatis,即大家常說的SSM。雖然現在流行的做法是使用SpringBoot來快速搭建、配置好SSM專案,但還是有必要知道如何不用SpringBoot來組合好這三

程式碼費時又費力?這裡有一個開源神器幫你快速

![](https://img2020.cnblogs.com/blog/759200/202103/759200-20210316122601417-236163448.png) 多數企業出於安全、穩定、隱私等方面的考慮,都會選擇在內網搭建程式碼託管平臺。隨著企業的發展,專案會越來越多。 由於專案數量

手把手教你制作微信小程序開源、免費、快速

免費 list life 支付 直接 domain -i 方式 poster 最近做了個“羅孚傳車”的小程序 一時興起,做了一個小程序,將個人收集的同汽車相關的行業資訊和學習資料,分享到小程序中,既作為歷史資料保存,又提供給更多的人學習和了解,還能裝一下:) 掃描下方小程序

織夢後臺管理員密碼重置工具-1個檔案

織夢後臺管理員賬號或者密碼忘記了?網上教程五花八門各種折騰,又是改資料庫,又是重灌的。 不必愁,1個檔案就可以統統搞定,省時又省力。 織夢後臺管理員密碼重置檔案下載 https://pan.baidu.com/s/1qi-m81ES0uzw8axRiDo5DQ 使用說明 1. 選擇對應的編碼,把

python中三行程式碼發郵件

一般發郵件方法 我以前在通過Python實現自動化郵件功能的時候是這樣的: import smtplib from email.mime.text import MIMEText from email.header import Header # 傳送郵箱伺服器 smtpserver

Swift.輪轉動畫,100行程式碼

實現效果: 靜止時:子view對稱排列,允許動態新增,0~24個都能較好的顯示. 旋轉時:中心view不動,子view隨手勢旋轉,最下方子view變大突出. 實現思路: 所有的控制元件全部加到一個大的背景view上,本質上旋轉的是這個背景view,在旋轉背景view的同

Swift.左側弧形tableView,50行程式碼

實現效果: 左側有弧形區域的tableview,實現簡單螢幕適配,可修改弧度和cell高度. 可增加中間cell最大,上下端cell依次變小的效果. 實現方式: 1.實現根據tableView.contentOffset.y獲取偏移角度方法 2.獲取螢幕中顯示的ce

習慣8:1天徹底1個發音

你知道嗎?英語只有44個發音。就是聲音。如果你每天把一個聲音搞定了。在一個半月之內,你的英語發音已經很好。那怎麼做?其實很簡單。你要隨時隨地找機會練練你的發音。比如你剛剛下班要回家的時候你等電梯,你可能要等一兩分鐘就把你的發音素材拿出來念。你練完了,可能 只有30分鐘,如果電梯還沒來,那就再練一