Horizontal Square Calfskin Boston Bag VOCOSI VOCOSI
Horizontal Square Calfskin Boston Bag VOCOSI VOCOSI
Horizontal Square Calfskin Boston Bag VOCOSI VOCOSI
Horizontal Square Calfskin Boston Bag VOCOSI VOCOSI
Horizontal Square Calfskin Boston Bag VOCOSI VOCOSI
Horizontal Square Calfskin Boston Bag VOCOSI VOCOSI
Horizontal Square Calfskin Boston Bag VOCOSI VOCOSI
Horizontal Square Calfskin Boston Bag VOCOSI VOCOSI
Horizontal Square Calfskin Boston Bag VOCOSI VOCOSI
Horizontal Square Calfskin Boston Bag VOCOSI VOCOSI
Horizontal Square Calfskin Boston Bag VOCOSI VOCOSI
Horizontal Square Calfskin Boston Bag VOCOSI VOCOSI
Horizontal Square Calfskin Boston Bag VOCOSI VOCOSI
Horizontal Square Calfskin Boston Bag VOCOSI VOCOSI
Horizontal Square Calfskin Boston Bag VOCOSI VOCOSI
Horizontal Square Calfskin Boston Bag VOCOSI VOCOSI
Horizontal Square Calfskin Boston Bag VOCOSI VOCOSI
Horizontal Square Calfskin Boston Bag VOCOSI VOCOSI
Horizontal Square Calfskin Boston Bag VOCOSI VOCOSI
Horizontal Square Calfskin Boston Bag VOCOSI VOCOSI
Horizontal Square Calfskin Boston Bag VOCOSI VOCOSI
Horizontal Square Calfskin Boston Bag VOCOSI VOCOSI
Horizontal Square Calfskin Boston Bag VOCOSI VOCOSI
Horizontal Square Calfskin Boston Bag VOCOSI VOCOSI

Horizontal Square Calfskin Boston Bag

Fashion / Capacity / Durable / Smooth
COLOR — Black
Please select a color
SIZE
Please select a size
1 sold
Price
$64.00
$64.00
Save  0%
Quantity
Vendor by: VOCOSI
SKU: XL-7411-Black
Please check our size chart before ordering
Shipping time: 10-18 working days (excluding production time)
Any question, you can contact service@vocosi.com
Customer Reviews

Here are what our customers say.

Write a Review
Customer Reviews
Wow you reached the bottom
Newest
Most liked
Highest ratings
Lowest ratings
×
class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
The review would not show in product details on storefront since it does not support to.

*Color black/brown/white/green/grey

*Back method: single shoulder/portable/diagonal span

*Size: length 24CM/width 11CM/height 15CM

*Hand strap: 16cm, Shoulder strap: 38cm-48cm, adjustable, detachable

*Material: Calfskin/Polyester cotton

*Capacity: glasses, mobile phones, cosmetics, etc.

*Selected delicate togo top layer cowhide,Hardware lock design, wear-resistant and durable

*Reasonable layering, orderly storage, simple shape, suitable for various occasions

*The classic style of the fashion bag and the attractive design can basically meet your daily needs as a versatile item

*The storage is well-organized, the space design is simple and clear, the opening width is sufficient, and the access is convenient.