㈠ java web項目中有很多的圖片,如何存放
一般有兩種情況,
一種是前端開發需要顯示的圖片,這個是頁面構成必須的元素,一般這些會做 動靜分離,後台介面 跟 前端資源會部署在不同的伺服器上,有不同的優化,一般會有轉發的伺服器,判斷是後台介面,就轉發到後台的伺服器,如果是前端資源,就轉發到前台的伺服器。一般情況下,前端伺服器,跟後台的伺服器,是分離開的,有不同的人去管理,如果項目小的話,可能就全放在一個。這個優化的化,你可以去了解下 CDN原理。這個是用來優化靜態資源載入情況的。
另一種情況是,顯示的圖片,不是前端構成的,是用戶上傳文件產生的,這種情況下,現在一般有專門的對象存儲,用過 七牛雲,跟阿里的。這個的邏輯是文件上傳的時候,不是上傳到我們自己的伺服器,上傳到專門的雲伺服器,我們自己資料庫只需要保存這些上傳文件的地址,真正使用的時候,把連接給前端,前端自動會根據內容到專門的雲伺服器上去獲取。所有的安全,優化,帶寬,緩存命中,這些都有由雲伺服器去保證。 簡單來說,只有有錢,這些東西根本不會成為你項目的瓶頸。
作為技術,我們討論的應該不是這些。圖片會做備份,這個可以有專門的磁碟陣列去實現,簡單來說,就是上傳的內容保存到磁碟的時候,會自動多保存幾個備份到不同的磁碟上。還是那句話,多去了解下CDN的原理,最後這段,個人理解,不一定對。
㈡ 前端怎麼傳圖片給後台(java)
你可以現在前台控制台列印一下base64的流,看看是否獲取圖片成功。如果成功再去後台看看獲取的文件信息,haerd中是否有數據。
然後就是你沒有後台代碼,這里也不好判斷是否是接收問題
㈢ 如何使用Django獲取從前端input表單上傳過來的圖片到FastDFS保存 ..求大神
老是報錯說我前端網頁上傳的不是一個文件 是要一個文件路徑的話,那伺服器還沒保存之前肯定找不到啊,畢竟是前端過來的,但奇怪的是django的admin後台就可以正常上傳
㈣ 前端批量上傳圖片後端怎麼接收
循環啊 非同步啊,直接轉換成base64傳到後台,後台循環解碼,保存在文件夾裡面不就可以了。
㈤ web圖片一般存在後端哪裡
web圖片一般存在Java後端。
web前端上傳圖片到Java後端,並保存到本地。一般來說,圖片在後端的存儲方式分為兩種:一,可以將圖片以獨立文件的形式存儲在伺服器的指定文件夾中,再將路徑存入資料庫欄位中,二,將圖片轉換成二進制流,直接存儲到資料庫的Image類型欄位中。
㈥ 我做了一個簡單的vfp為前端,sql為後台服務的一個簡單系統,請各位老師教我如何存儲和提取相片。
sql200欄位類型用 image, 對應的vfp視圖的欄位類型是blob,
顯示, 將該欄位的值賦給image控制項的pictureval屬性.
保存,用函數 FILETOSTR(圖片路徑) 將圖片轉成字元, 保存進欄位
㈦ 前端上傳圖片頭像到七牛雲格式變成text
流程:七牛雲後台的對象存儲功能,nodejs後台生成七牛雲的token,前端利用elementUI/ice的upload組件,文件名和token作為參數請求到七牛雲後台。
配置已經完成,寫介面用的是express,koa同理,主要做法是先接收前端的圖片流轉換成圖片寫入本地image文件中,然後再存儲到七牛雲,再將本地生成的圖片刪除,需要新建一個image文件夾
㈧ 關於後台管理圖片上傳存儲的問題
這要看需求如果保密性強並圖片不大可以存資料庫如果無保密性可言可存系統文件夾你這種情況選後者更好
㈨ 我用的是ssh框架,前端傳了一個圖片到後台,後台將圖片寫進了我的本地磁碟,資料庫也存貯了圖片的地址,
在前端圖片處滑鼠右鍵查看屬性。看看顯示的內容是圖片還是地址還是其他的。
如果顯示的是圖片,你看看從前端別的工具能不能直接訪問圖片。
如果顯示的是網址或者圖片地址,那就是代碼問題了。。
㈩ jsp怎麼保存圖片,有沒有詳細的代碼
可以不用JSP後台或者JSP方式的代碼保存圖片,直接用javascript比較簡單,在前端提交圖片,然後將路徑存儲到資料庫,文件存儲到制定的文件伺服器路徑上。
非要用JSP後台保存圖片,可以參考如下代碼:
{
_TYPE="text/html;charset=GB2312";
//ProcesstheHTTPPostrequest
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
response.setContentType(CONTENT_TYPE);
PrintWriterout=response.getWriter();
try{
DiskFileUploadfu=newDiskFileUpload();
//設置允許用戶上傳文件大小,單位:位元組,這里設為2m
fu.setSizeMax(2*1024*1024);
//設置最多隻允許在內存中存儲的數據,單位:位元組
fu.setSizeThreshold(4096);
//設置一旦文件大小超過getSizeThreshold()的值時數據存放在硬碟的目錄
fu.setRepositoryPath("c:\windows\temp");
//開始讀取上傳信息
ListfileItems=fu.parseRequest(request);
//依次處理每個上傳的文件
Iteratoriter=fileItems.iterator();
//正則匹配,過濾路徑取文件名
StringregExp=".+\\(.+)$";
//過濾掉的文件類型
String[]errorType={".exe",".com",".cgi",".asp"};
Patternp=Pattern.compile(regExp);
while(iter.hasNext()){
FileItemitem=(FileItem)iter.next();
//忽略其他不是文件域的所有表單信息
if(!item.isFormField()){
Stringname=item.getName();
longsize=item.getSize();
if((name==null||name.equals(""))&&size==0)
continue;
Matcherm=p.matcher(name);
booleanresult=m.find();
if(result){
for(inttemp=0;temp<errorType.length;temp++){
if(m.group(1).endsWith(errorType[temp])){
thrownewIOException(name+":wrongtype");
}
}
try{
//保存上傳的文件到指定的目錄
//在下文中上傳文件至資料庫時,將對這里改寫
item.write(newFile("d:\"+m.group(1)));
out.print(name+" "+size+"<br>");
}
catch(Exceptione){
out.println(e);
}
}
else
{
thrownewIOException("failtoupload");
}
}
}
}
catch(IOExceptione){
out.println(e);
}
catch(FileUploadExceptione){
out.println(e);
}
}
}