圖片批量上傳
html批量上傳圖片到javaproject,然後由後臺轉到oss或存入本地;
其實最主要碰到的問題還是接受前端傳入圖片:分為單張圖片上傳,多個單張圖片上傳,和一個標籤多張圖片上傳。
@RequestMapping(value = "/uploadPhoto", method = RequestMethod.POST) @ResponseBody public ResultDto handleFileUpload(HttpServletRequest request) { ResultDto resultDto = new ResultDto(); List<MultipartFile> files = ((MultipartHttpServletRequest) request) .getFiles("file"); }
接受圖片的格式是MultipartFile,這個格式轉file也是一個大坑。
詳情可以看下這個連結,https://www.cnblogs.com/hahaxiaoyu/p/5102900.html
如果只是為了把檔案資料寫入目錄,直接通過資料流就行,但阿里雲的oss介面接受的是file格式,所以選了一個感覺靠譜一點的。
for (int i = 0; i <files.size(); i++) { MultipartFile file = files.get(i); String str = file.getOriginalFilename(); String[] strArray = str.split("\\."); String name=getPath()+"."+strArray[1]; path = "temp/"+name; f = new File(path); try { FileUtils.copyInputStreamToFile(file.getInputStream(), f); md5key = AliyunOSSClientUtil.uploadObject2OSS(ossClient, f,name, BACKET_NAME, FOLDER); if(StringUtils.isNotBlank(md5key)){ String url="http://htaocar.oss-cn-hangzhou.aliyuncs.com/car/" + f.getName(); int len = addPhoto(i,carId,f.length(),url); if(len>0){ message="上傳圖片成功"; } }else { message = "上傳出錯"; } } catch (IOException e) { e.printStackTrace(); } logger.info("http://htaocar.oss-cn-hangzhou.aliyuncs.com/car/" + f.getName()); }
通過copyInputStreamToFile在本地對應的目錄裡儲存,然後用file再讀出來,最後發給阿里雲。
阿里雲提供的介面是直接接受file但由於檔名是我後臺自動生成的,所以改了下官網提供的介面,把檔名當引數穿進去了。
罷了,乾脆把oss上傳的程式碼也貼一下吧
/** * 上傳圖片至OSS * * @return String 返回的唯一MD5數字簽名 */ public static String uploadObject2OSS(OSSClient ossClient, File file,String fileName, String bucketName, String folder) { String resultStr = null; try { /**檔案流上傳方式暫定,web改成 資料流*/ //以輸入流的形式上傳檔案 InputStream is = new FileInputStream(file); // //檔名 // String fileName = file.getName(); //檔案大小 Long fileSize = file.length(); //建立上傳Object的Metadata ObjectMetadata metadata = new ObjectMetadata(); //上傳的檔案的長度 metadata.setContentLength(is.available()); //指定該Object被下載時的網頁的快取行為 metadata.setCacheControl("no-cache"); //指定該Object下設定Header metadata.setHeader("Pragma", "no-cache"); //指定該Object被下載時的內容編碼格式 metadata.setContentEncoding("utf-8"); //檔案的MIME,定義檔案的型別及網頁編碼,決定瀏覽器將以什麼形式、什麼編碼讀取檔案。如果使用者沒有指定則根據Key或檔名的副檔名生成, //如果沒有副檔名則填預設值application/octet-stream metadata.setContentType(getContentType(fileName)); //指定該Object被下載時的名稱(指示MINME使用者代理如何顯示附加的檔案,開啟或下載,及檔名稱) metadata.setContentDisposition("filename/filesize=" + fileName + "/" + fileSize + "Byte."); //上傳檔案 (上傳檔案流的形式) PutObjectResult putResult = ossClient.putObject(bucketName, folder + fileName, is, metadata); //解析結果 resultStr = putResult.getETag(); } catch (Exception e) { e.printStackTrace(); logger.error("上傳阿里雲OSS伺服器異常." + e.getMessage(), e); } return resultStr; }
相關推薦
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
WebAPI圖片批量上傳+修改圖片名稱
前言: 這幾天在做一個圖片上傳的API,在網上找了很多資料,也學到了很多東西,最近剛接觸WebAPI,好多東西都看不懂。 還停留在webfrom的概念, 哈哈 其實webfrom也沒學好,廢話不多說了,先看程式碼。 public async Task<HttpResp
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
修改KindEditor圖片批量上傳數量和大小限制
KindEditor批量影象上載,默許答應使用者一起上載20張影象,單張影象容量不超越1MB。 有時不滿足咱們的需要,就需要修正KE批量上載影象的個數和單個影象鉅細限制。 KindEditor 4.1.11: 辦法一:呼叫KE時裝備好引數就行,程式碼如下
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的時候,通常需要解決以
ckeditor添加自定義按鈕整合swfupload實現批量上傳圖片
下載 了解 nbsp 文件 mouseover 去掉 dial size pro ckeditor添加自定義按鈕整合swfupload實現批量上傳圖片給ckeditor添加自定義按鈕,由於ckeditor只能上傳一張圖片,如果要上傳多張圖片就要結合ckfinder,而ckf
iOS 批量上傳圖片的 3 種方法
except 現在 文章 rap 鏈式調用 bsp 不知道 working truct AFNetworking 在去年年底升級到了 3.0。這個版本更新想必有很多好處,然而讓我吃驚的是,它並沒有 batch request 接口。之前的 1.x 版本、2.x 版本都實現
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.頁面程式碼 <!--第一張-->
批量上傳圖片(jQuery-File-Upload使用)
styles client lar new this thead alex pla multipl jQuery-File-Upload jQuery-File-Upload是一個jquery下的ajax文件上傳插件,支持批量上傳,github地址:https://gith
SSM中使用Kindeditor外掛實現圖片的批量上傳與回顯
圖片上傳的方式: 1.上傳到資料庫中的Blob型別,從資料庫中取出來並顯示。詳細見下面連結 http://blog.sina.com.cn/s/blog_5b0745e80102we31.html 2.上傳到伺服器的固定目錄下,在資料庫中僅儲存圖片的地址。詳細見下文 效果
基於“formData批量上傳的多種實現” 的多圖片預覽、上傳的多種實現 formData批量上傳的多種實現
前言 圖片上傳是web專案常見的需求,我基於之前的部落格的程式碼(請戳:formData批量上傳的多種實現)裡的第三種方法實現多圖片的預覽、上傳,並且支援三種方式新增圖片到上傳列表:選擇圖片、複製貼上圖片、滑鼠拖拽圖片,同時支援從上傳列表中移除圖片(點選“X”號) 效果演示 選擇