我在使用AMD/RequireJS的.NET項目上使用Blueimp文件上傳。我目前只上傳圖片,並希望在圖片上傳前在頁面上顯示預覽。這是圖書館的本地功能,似乎工作正常。Blueimp文件上傳 - 預覽圖像像素化
問題是,當我將「previewMaxWidth」和「previewMaxHeight」選項設置爲超過80像素(默認值)時,預覽圖像總是模糊/像素化。因此,將這2個選項設置爲例如220像素創建一個220像素的畫布,但內部的圖像是像素化的,就像它從80像素放大一樣。
我在這裏找不到任何類似的問題,但是如果您將「previewMaxWidth」和「previewMaxHeight」更改爲我正在使用的相同的220px,則會發現在實際的Blueimp演示頁面中會出現相同的行爲。
編輯:問題僅適用於JPG圖像。 PNG不會模糊/像素化。
檢查here進行視覺演示。以下是我的代碼:
$(config.browseButton).fileupload({
url: "/myEndpointUrl.aspx",
acceptFileTypes: /(\.|\/)(jpe?g)$/i,
maxFileSize: 5000000,
previewMaxWidth: 220,
previewMaxHeight: 220,
previewCrop: true,
dataType: 'json',
autoUpload: false,
disableImageResize: /Android(?!.*Chrome)|Opera/.test(window.navigator.userAgent)
}).on('fileuploadadd', function(e, data) {
if (data.files && data.files[0]) {
// Successfully injects the Canvas preview in the DOM
config.elements.pictureHolder.html(data.files[0].preview);
} else {
console.log("No files have been selected");
}
}).on('fileuploadprocessalways', function(e, data) {
// ...
}).on('fileuploadprogressall', function(e, data) {
// ...
}).on('fileuploaddone', function(e, data) {
// ...
}).on('fileuploadfail', function(e, data) {
// ...
});
在此先感謝!