0
在我的應用程序中,我至今設法將圖像上載到服務器。現在我想在ASP.NET MVC5中使用JavaScript動態地將上傳的圖像設置爲背景。這是我的代碼。這部分從本地存儲讀取文件在ASP.NET MVC中使用Javascript設置上傳的圖像作爲背景
jQuery(document).ready(function()
{
jQuery("#imageBrowes").change(function()
{
var File = this.files;
if (File && File[0])
{
ReadImage(File[0]);
}
})
})
var ReadImage = function(file)
{
var reader = new FileReader;
var image = new Image;
reader.readAsDataURL(file);
reader.onload = function(_file)
{
image.src = _file.target.result;
image.onload = function()
{
var height = this.height;
var width = this.width;
var type = file.type;
var size = ~~(file.size/1024) + "KB";
jQuery("#targetImg").attr('src', _file.target.result);
jQuery("#description").text("Size:" + size + ", " + height + "X " + width + ", " + type + "");
jQuery("#imgPreview").show();
}
}
}
這部分存儲圖像到文件服務器系統:
var ClearPreview = function(){
jQuery("#imageBrowes").val('');
jQuery("#description").text('');
jQuery("#imgPreview").hide();
}
var Uploadimage = function()
{
var file = jQuery("#imageBrowes").get(0).files;
var data = new FormData;
data.append("ImageFile", file[0]);
jQuery.ajax({
type: "Post",
url: "/Home/ImageUpload",
data: data,
contentType: false,
processData: false,
success: function (response) {
ClearPreview();
jQuery("#uploadedImage").append('<img src="/elements-images/' + response + '" class="img-responsive thumbnail"/>');
}
})
}
這是在上面的javascript調用的行動:
public ActionResult ImageUpload(ProductViewModel model)
{
var file = model.ImageFile;
if (file != null)
{
var fileName = Path.GetFileName(file.FileName);
var extention = Path.GetExtension(file.FileName);
var filenamewithoutextension = Path.GetFileNameWithoutExtension(file.FileName);
file.SaveAs(Server.MapPath("/elements-images/" + file.FileName));
}
return Json(file.FileName, JsonRequestBehavior.AllowGet);
}
所以基本上圖像文件被保存到elements-images文件夾中。然後如何將該文件夾中的特定圖像設置爲背景圖像?
我已經改變了它,但是這是什麼呢? – dominicbure
你的_file.target.result是二進制數據,你不能直接在src中設置它。我的代碼將其更改爲base64字符串,並且可以將base64字符串嵌入到圖像src中。它不是在targetImg中顯示圖像嗎? –
當我在我的動作中更改了行時,出現了構建錯誤。我在上載之後得到預覽,但是我正在尋找的是如何使用.attr()和.css()方法將保存的圖像設置爲背景圖像。這是我不確定的。 – dominicbure