『壹』 我用的是ssh框架,前端傳了一個圖片到後台,後台將圖片寫進了我的本地磁碟,資料庫也存貯了圖片的地址,
在前端圖片處滑鼠右鍵查看屬性。看看顯示的內容是圖片還是地址還是其他的。
如果顯示的是圖片,你看看從前端別的工具能不能直接訪問圖片。
如果顯示的是網址或者圖片地址,那就是代碼問題了。。
『貳』 前端將圖片轉換為base64位,使用ajax傳遞到後台,但是圖片經過base64轉換成字元串後非常長,無法使用ajax
前端JS
var reader = new FileReader();
reader.onload = function (e) {
//圖片base64數據
var imgBase64Data = e.target.result;
var pos = imgBase64Data.indexOf("4")+2;
imgBase64Data = imgBase64Data.substring(pos, imgBase64Data.length - pos);//去掉Base64:開頭的標識字元
$.ajax({
type: "POST",
url: "http://imginapi.com/image/AddImage",
async: false,
xhrFields: { withCredentials: true },
data: { 'base64StrImgData': imgBase64Data, 'imgFormat': fileext},
dataType: "text",
success: function (data) {
alert(data);
domUtils.on(iframe, 'load', callback);
},
error: function (err) {
alert("error");
alert(err.responseText);
}
});
return;
};
reader.readAsDataURL(input.files[0]);
後台C#代碼:
/// <summary>
/// 圖像轉換為Base64編碼
/// </summary>
/// <param name="image">圖像</param>
/// <param name="format">圖像格式</param>
/// <param name="throwException">出現異常時是否拋出</param>
/// <returns>轉換成功返回其Base64編碼;失敗返回空串</returns>
public static string ImageToBase64(System.Drawing.Image image, ImageFormat format, OPResult opRes, bool throwException = false)
{
return ExceptionHelper.ExceptionRecord(() =>
{
string base64String = "";
try
{
using (MemoryStream ms = new MemoryStream())
{
image.Save(ms, format);
byte[] imageBytes = ms.ToArray();
base64String = Convert.ToBase64String(imageBytes);
}
}
catch (Exception ex)
{
throw new Exception("將圖片轉成base64字元串時出現異常:" + ex);
}
return base64String;
}, opRes, throwException);
}
『叄』 前端發送數據到後端
前段發送數據到後端有兩種方式post和get方式:
$.ajax({
type:"post",
url:"api.php",
dataType:"json",
success:function(data){
}
});
$.ajax({
type:"get",
url:"api.php",
dataType:"json",
success:function(data){
}
});
這兩種都是頁面js操作的,也可以直接寫下邊這種:
window.location.href="api.php?name=aaa&sex=1";
『肆』 java web前端上傳文件到後台常用的幾種方式
1、使用form表單提交
但是這里要記得添加enctype屬性,這個屬性是指定form表單在向伺服器提交之前,對表單數據如何進行編碼。 文件域中的name="file"屬性的值,需要和後台接收的對象名一致,不然接收不到。
2、使用ajax提交文件
使用ajax提交首先引入jquery-form.js文件才能實現,接著使用上面的html代碼,加入以js則可以實現ajax提交文件。
3、使用FormData對象
4、後台接收文件,框架採用的Spring Boot 微服務框架,因為該框架搭建很方便所以採用這個框架寫例子。
『伍』 前端頁面怎麼傳遞數據給後端,後端用soringboot調用的過程代碼
前端用ajax進行非同步網路請求傳遞數據給伺服器:
$.ajax({ url: "test.html", context: document.body, success: function(){
$(this).addClass("done");
}});
後台在自己對應的控制器里獲取傳遞過來的get值或者post值
以PHP舉例 可以用$_POST['username']接受POST請求傳遞過來的username參數
『陸』 前端怎麼傳圖片給後台(java)
你可以現在前台控制台列印一下base64的流,看看是否獲取圖片成功。如果成功再去後台看看獲取的文件信息,haerd中是否有數據。
然後就是你沒有後台代碼,這里也不好判斷是否是接收問題
『柒』 前端批量上傳圖片後端怎麼接收
循環啊 非同步啊,直接轉換成base64傳到後台,後台循環解碼,保存在文件夾裡面不就可以了。