WebAPI圖片批量上傳+修改圖片名稱
前言: 這幾天在做一個圖片上傳的API,在網上找了很多資料,也學到了很多東西,最近剛接觸WebAPI,好多東西都看不懂。 還停留在webfrom的概念, 哈哈 其實webfrom也沒學好,廢話不多說了,先看程式碼。
public async Task<HttpResponseMessage> PostUpload(string Token, int Part) { if (Global.checkToken(Token)) //驗證口令通過 { // Check whether the POST operation is MultiPart? if (!Request.Content.IsMimeMultipartContent()) { throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); } // Prepare CustomMultipartFormDataStreamProvider in which our multipart form // data will be loaded. string partFolder = string.Empty; switch (Part) { case 1: partFolder = "MobileUploadImages_BaoGao"; break; case 2: partFolder = "MobileUploadImages_ShenQing"; break; case 3: partFolder = "MobileUploadImages_RenWu"; break; default: partFolder = "MobileUploadImages_QiTa"; break; } string fileSaveLocation = HttpContext.Current.Server.MapPath("~/"+ImageUploadPublic.FoldersAddress+"/"+partFolder); if (!Directory.Exists(fileSaveLocation)) Directory.CreateDirectory(fileSaveLocation); CustomMultipartFormDataStreamProvider provider = new CustomMultipartFormDataStreamProvider(fileSaveLocation); List<string> files = new List<string>(); try { // Read all contents of multipart message into CustomMultipartFormDataStreamProvider. await Request.Content.ReadAsMultipartAsync(provider); string newFileName = string.Empty; foreach (MultipartFileData file in provider.FileData) { newFileName = Path.GetFileName(file.LocalFileName); files.Add(newFileName); } return Request.CreateResponse(HttpStatusCode.OK, files); } catch (System.Exception e) { return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e); } } else { string ResCode = "0002", Msg = "口令錯誤"; Dictionary<string, object> obj = new Dictionary<string, object>(); obj.Add("ResCode", ResCode); obj.Add("Msg", Msg); return Request.CreateResponse(HttpStatusCode.OK, obj); } }
上面兩塊程式碼就能實現圖片批量上傳功能, 下面是測試介面的程式碼:public class CustomMultipartFormDataStreamProvider : MultipartFormDataStreamProvider { public CustomMultipartFormDataStreamProvider(string path) : base(path) { } public override string GetLocalFileName(HttpContentHeaders headers) { //修改圖片名稱並返回 string newFileName = string.Empty; newFileName = Path.GetExtension(headers.ContentDisposition.FileName.Replace("\"", string.Empty));//獲取字尾名 newFileName = DateTime.Now.ToString("yyyyMMddHHmmss") + new Random().Next(0, 99999) + newFileName; return newFileName; } }
static void Main(string[] args) { using (var client = new HttpClient()) using (var content = new MultipartFormDataContent()) { // Make sure to change API address client.BaseAddress = new Uri("http://localhost:18110/"); // Add first file content var fileContent1 = new ByteArrayContent(File.ReadAllBytes(@"C:\Users\y\Desktop\testImgUpload\wokechakandehuibao.jpg")); fileContent1.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = "wokechakandehuibao.jpg" }; // Add Second file content var fileContent2 = new ByteArrayContent(File.ReadAllBytes(@"C:\Users\y\Desktop\testImgUpload\xiezhoubaoFasongrenyuan.jpg")); fileContent2.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = "xiezhoubaoFasongrenyuan.jpg" }; content.Add(fileContent1); content.Add(fileContent2); // Make a call to Web API var result = client.PostAsync("/WebAppErpUser/PostUpload?Token=000000&Part=1", content).Result; //HttpContent hc = result.Content; result.Content.ReadAsStringAsync().ContinueWith((str) => { Console.WriteLine(str.Result); });//輸出上傳的圖片名稱(修改後的) Console.WriteLine(result.StatusCode); Console.ReadLine(); } }
其實網上有很多上傳圖片的web api 程式碼,只是沒有找到適合我的,結果到頭來找到這段程式碼基本實現了我的需求,所以就用這個了,然後自己再改吧改吧,就這樣了。
這一段程式碼是我在網上找的,具體在哪個網站找的我也忘了,其中添加了修改圖片名稱的功能,其他沒啥,只為複製程式碼的同學提供方便。
注:如果原創者看到了這個博文,請原諒我沒有記住你的名字,請原諒我沒有收藏你的部落格。
相關推薦
WebAPI圖片批量上傳+修改圖片名稱
前言: 這幾天在做一個圖片上傳的API,在網上找了很多資料,也學到了很多東西,最近剛接觸WebAPI,好多東西都看不懂。 還停留在webfrom的概念, 哈哈 其實webfrom也沒學好,廢話不多說了,先看程式碼。 public async Task<HttpResp
修改KindEditor圖片批量上傳數量和大小限制
KindEditor批量影象上載,默許答應使用者一起上載20張影象,單張影象容量不超越1MB。 有時不滿足咱們的需要,就需要修正KE批量上載影象的個數和單個影象鉅細限制。 KindEditor 4.1.11: 辦法一:呼叫KE時裝備好引數就行,程式碼如下
thinkphp5 結合plupload實現圖片批量上傳
在extend目錄下新增目錄uploader,並新建類Uploads <?php namespace uploader; class Uploads { public static function upfile($file, $path = 'images', $add_domai
.NET使用swfupload實現圖片批量上傳
var swfobject=function(){var X="undefined",P="object",a="visibility:visible",e="visibility:hidden",B="Shockwave Flash",h="ShockwaveFlash.ShockwaveFlash",V=
分享一個圖片管理程式,圖片批量上傳,圖片管理(有圖片)
呵呵,好久沒寫部落格了。今天在此奉上一篇! 關於圖片管理,其實做專案很多地方都用到圖片管理。 比如:產品圖片,新聞圖片,作品圖片。 現分享一篇關於圖片管理的文章,希望大家能用得上。 先來看效果圖吧: 上傳頁面 上傳頁面2圖片選擇頁面。 主要功能: 1.圖片批量上傳。 1)
【開源】1句程式碼搞定圖片批量上傳,無需什麼程式碼功底【無語言界限】
/// <summary> /// 圖片上傳 /// </summary> /// <returns></returns> public JsonResult Upload(HttpPo
筆記-關於圖片批量上傳
1.使用webuploader :http://blog.csdn.net/qq_23959411/article/details/47659387 2.mui但圖片上傳:http://jishiwe
圖片批量上傳
html批量上傳圖片到javaproject,然後由後臺轉到oss或存入本地; 其實最主要碰到的問題還是接受前端傳入圖片:分為單張圖片上傳,多個單張圖片上傳,和一個標籤多張圖片上傳。 @RequestMapping(value = "/uploadPhoto", meth
aws s3 圖片批量上傳工具 CLI
1、aws文件https://aws.amazon.com/cn/getting-started/tutorials/backup-to-s3-cli/2、批量上傳需要加--recursiveC:\Users\85122>aws s3 cp E:\20180523\ s
圖片批量上傳到阿里雲伺服器
上傳圖片頁面 <html> <head> <base href="<%=basePath%>"> <title>上傳圖片</title> <meta http
Layui+SpringMVC實現圖片批量上傳
最近需要做一個批量上傳圖片的功能,為豐富前端框架的拓展學習使用,這次打算用layui前端框架實現,原始碼放在文章底部,廢話不多說,先上演示效果執行前:操作後:一、匯入對應的layui樣式及其資原始檔1.引入對應的css及其js檔案2.編輯上傳的頁面3.上傳檔案的js配置<
thinkphp5 整合plupload實現圖片批量上傳
<?php /* * 檔案上傳 * * Donald * 2017-3-21 */ namespace app\backend\logic; use think\Model; class Plupupload extends Model{ public function uploa
**關於阿里雲oss圖片批量上傳問題解析**
關於阿里雲oss圖片批量上傳問題解析 背景 最近在專案開發過程中遇到的問題,消耗了比較久的時間,過程曲折,雖然最終達到目的,但是鑑於各種常用的雲資料在物件儲存方面大同小異,所以記錄一下。 理一下思路: 我們在呼叫第三方物件儲存API的時候,通常需要解決以
移動端壓縮圖片。上傳獲取圖片並壓縮。lrz.all.bundle.js外掛。 accept="image/*"載入慢的問題
檢視下載地址:http://www.cnblogs.com/52fhy/p/5355601.html 檢視input[type='file']的圖片路徑。在我的另一篇部落格:http://blog.csdn.net/qq_33769914/article/details/5
ckeditor添加自定義按鈕整合swfupload實現批量上傳圖片
下載 了解 nbsp 文件 mouseover 去掉 dial size pro ckeditor添加自定義按鈕整合swfupload實現批量上傳圖片給ckeditor添加自定義按鈕,由於ckeditor只能上傳一張圖片,如果要上傳多張圖片就要結合ckfinder,而ckf
修改帝國CMS默認圖片附件上傳路徑
load 默認 行修改 方法 需要 想要 成功 教程 左右 帝國CMS系統設置中的“附件地址”設置是不生效的,無論設置成什麽都還是在 d/file/ 下,下面牛教程介紹手動修改附件存放地址的方法。 一:先在系統設置中將“附件地址”一項修改為自己想要的地址,這裏以 /uplo
iOS 批量上傳圖片的 3 種方法
except 現在 文章 rap 鏈式調用 bsp 不知道 working truct AFNetworking 在去年年底升級到了 3.0。這個版本更新想必有很多好處,然而讓我吃驚的是,它並沒有 batch request 接口。之前的 1.x 版本、2.x 版本都實現
WebApi接收微信小程式上傳的圖片(二進位制檔案流)並儲存在伺服器指定路徑
找了好多天都沒找到小程式批量上傳圖片的方法,然後我現在的邏輯是: 取到上傳圖片的集合,迴圈呼叫小程式wx.UploadFile方法,依次上傳 後端取到檔案之後生成唯一MD5碼(相同的檔案生成的MD5碼是唯一的),然後取前兩位後兩位建立資料夾,儲存圖片前判斷下圖片是否存在。(
ASP批量上傳和編輯圖片
關於這個問題也算是老生常談,但是我相信還是有不會的朋友。寫這篇文章主要是對那些需要的朋友,對於大牛,就可以不看了。,寫的不好,還請大牛指點一二啊。 本人QQ:1127173874. 第一,相關的JS檔案和上傳類,主要是jquery-1.4.2.js和jquery.livequery.js,U
純js批量上傳預覽圖片
前提:<script src="js/jquery.min.js"></script> 參考:http://www.jq22.com/jquery-info833 1.頁面程式碼 <!--第一張-->