我希望在使用c#将文件上传到我们的服务器后存储文件信息。基本上我们有两个存储位置,即。本地存储和云存储。
DB的结构是
ID int
CreateOn smalldatetime
FileUrl nvarchar(max)
StoreTypeID int
FileUrl
存储文件的url,但不存储路径和文件名。
问题是如果我想从数据库和存储中删除此文件,如果存储是本地的,我没有访问该文件的路径,如果它在云中,则应该没有任何问题。 / p>
我的问题是我是否应该跟踪列
Path
Filename
为了访问本地文件?
可以通过从fileurl中提取文件名来避免使用Filename列。
答案 0 :(得分:0)
Path.GetFileName(dbObject.FilePath)
只需添加数据库的路径即可。
通过拥有路径变量,您将能够访问文件系统上的文件,如果需要,可以通过ID int
CreateOn smalldatetime
FileUrl nvarchar(max)
FileName nvarchar(300)
StoreTypeID int
获取fileName。
但更好的方法就是这样。
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import java.awt.FlowLayout;
public class SwingExampleDemo {
public static void main(String[] args) {
JFrame f=new JFrame();//creating instance of JFrame
ImageIcon imageIcon = new ImageIcon("C:\\users\\Acer\\Documents\\images\\1.jpg"); //here image path
JLabel jLabel = new JLabel(imageIcon);
f.add(jLabel);
f.setLayout(new FlowLayout());//using layout managers
f.setVisible(true);//making the frame visible
f.pack();
}
}
不要使用用户提供的名称存储您的文件,无论是在本地存储还是云端存储。但是将文件名和文件一起记录到数据库中。
当您要将文件保留在本地存储上时,请在代码级别(通过配置更好)获得一个常量路径变量,然后使用带有文件ID的预定义或计算路径附加它。您将知道文件所在的确切位置。