10/10/2018, 09:50
Hỏi về hàm random trong vb
mình đang lập trình phần admin website
Khí mình lưu một sản phẩm mới vào xảy ra trường hợp tên file hình sản phẩn vô tình bị trùng, hiện tại mình đang xữ lý theo kiểu nếu gặp file hình trùng thì xóa file hình cũ úp file hình mới.
Nhưng cách này mình thấy không khả thi, mình liền nghỉ tới hàm random để tạo số tự nhiên ghép với tên hình.
Vd: khi thêm mới một sản phẩm mới có tên hình là laptrinh.jpg thì khi lưu vào nó sẽ tự động cộng thêm một số ngẩu nhiên nào đó với tên hình thì sẽ không còn trường hợp trùng tên file hình xãy ra nữa
Mình không rõ về hàm này lắm
Bạn nào biết chỉ giúp mình
Code của mình trong phần xữ lý lưu thêm hình vào như thế này
Private Function LayAnh() As String
Dim filename As String = ""
Dim pathServer As String = ""
filename = Path.GetFileName(txtFileHinh.PostedFile.FileName)
pathServer = Server.MapPath("..VNImagesSanPhamChinh") + filename
'Thay doi
txtFileHinh.PostedFile.SaveAs(pathServer)
Return filename
End Function
bạn nào có biết chỉ dùm mình ghép thêm hàm random vào dòng (pathServer = Server.MapPath("..VNImagesSanPhamChinh") + filename) giúp mình
cảm ơn rất nhiều
Khí mình lưu một sản phẩm mới vào xảy ra trường hợp tên file hình sản phẩn vô tình bị trùng, hiện tại mình đang xữ lý theo kiểu nếu gặp file hình trùng thì xóa file hình cũ úp file hình mới.
Nhưng cách này mình thấy không khả thi, mình liền nghỉ tới hàm random để tạo số tự nhiên ghép với tên hình.
Vd: khi thêm mới một sản phẩm mới có tên hình là laptrinh.jpg thì khi lưu vào nó sẽ tự động cộng thêm một số ngẩu nhiên nào đó với tên hình thì sẽ không còn trường hợp trùng tên file hình xãy ra nữa
Mình không rõ về hàm này lắm
Bạn nào biết chỉ giúp mình
Code của mình trong phần xữ lý lưu thêm hình vào như thế này
Private Function LayAnh() As String
Dim filename As String = ""
Dim pathServer As String = ""
filename = Path.GetFileName(txtFileHinh.PostedFile.FileName)
pathServer = Server.MapPath("..VNImagesSanPhamChinh") + filename
'Thay doi
txtFileHinh.PostedFile.SaveAs(pathServer)
Return filename
End Function
bạn nào có biết chỉ dùm mình ghép thêm hàm random vào dòng (pathServer = Server.MapPath("..VNImagesSanPhamChinh") + filename) giúp mình
cảm ơn rất nhiều
Bài liên quan
Bổ sung thêm: thay vì ghép vào chuỗi ngẫu nhiên, sao không lấy trực tiếp ngày giờ ngay lúc gửi cho tiện. Ngày giờ thì chắc không bao giờ trùng lặp.
bạn hướng dẫn mình ghép với ngày giờ được không
Dùng random một số hay chữ sẽ khiến cho việc index cái key random đó khó khăn hơn chưa kể là khó ghi nhớ. ví dụ như ten_mon_hangwfkgyc437
Còn dùng ngày và giờ thì cái key đó quá dài, ví dụ như ten_mon_hang1025201020:19
Mình sẽ thử cách này
Nhưng mình vẫn muốn biết rõ hơn về cái hàm random này.
từ trước tới giờ mình vẫn chưa dùng nó nên còn rất bở ngở
mình muốn nhân diệp này làm cho biết luôn
Bạn có thể vi dụ đơn gian về radom được không
Cách khởi tạo, gán,....
Vì hầu như khách hàng chẳng mở tên hình ra xem bao giờ
mà ghép với ngày giơ thế nào mình vẫn còn mơ hồ quá
[=========> Bổ sung bài viết <=========]
cảm ơn bạn rất nhiều
để mình làm thử xem
từ trước tới giờ mình vẫn chưa dùng nó nên còn rất bở ngở
mình muốn nhân diệp này làm cho biết luôn
Bạn có thể vi dụ đơn gian về radom được không
Cách khởi tạo, gán,....
newfilename = Left(filename, Len(filename) - 4) + temp + Right(filename, 4)
cso vấn đề hay sao đó
Mình viết lại cho hàm xữ lý ghép ngày giờ vào hình ảnh như thế này
Private Function LayAnh() As String
Dim filename As String = ""
Dim newfilename As String
Dim pathServer As String = ""
Dim temp As String
filename = Path.GetFileName(txtFileHinh.PostedFile.FileName)
temp = System.DateTime.Now.ToLongTimeString
newfilename = Left(filename, Len(filename) - 4) + temp + Right(filename, 4)
pathServer = Server.MapPath("..\VN\Images\SanPhamChinh\") + newfilename
txtFileHinh.PostedFile.SaveAs(pathServer)
Return filename
End Function
ở dưới function luuthemmoi mình gọi cái function này vào có đặt trong try,catch nhưng nó chạy hết function LayAnh() thì nó cacth ra luôn chứ không thực hiện lệnh lưu vào
[=========> Bổ sung bài viết <=========]
Dim random As New Random()
value= random.Next(min, max) 'trả về 1 số ngẫu nhiên trong khoảng từ min - max
khỏi tạo radom là như thế còn ghép cụ thể vào đoạn code của mình như thế nào bạn.
Private Function LayAnh() As String
Dim filename As String = ""
Dim pathServer As String = ""
filename = Path.GetFileName(txtFileHinh.PostedFile.FileName)
pathServer = Server.MapPath("..\VN\Images\CongTrinh\") + filename
'Thay doi
txtFileHinh.PostedFile.SaveAs(pathServer)
Return filename
End Function
ghép như thế nào để nó vẫn copy file hình đó lên server đồng thời đổi tên mới khó