遍历文件夹,然后读取每一个文件,然后再调用你的上传接口一个个文件上传


QStringList file_path;
QDir dir(“C:/2017-09-08”);
QFileInfoList info_list = dir.entryInfoList(QDir::Files | QDir::Hidden | QDir::NoDotAndDotDot | QDir::NoSymLinks | QDir::AllDirs);
foreach(QFileInfo file_info, info_list)
{

if (file_info.isFile())
{

qDebug() << "remove file  : " << file_info.absoluteFilePath();
file_path.append(file_info.absoluteFilePath());
QString file_name = file_info.fileName();
qDebug() <<file_name<<endl;
n++;

}
}
qDebug() <<n<<endl;
for(int i=0;i<n;i++)
{
QString filepath = file_path.at(i);
file = new QFile(filepath);
file->open(QIODevice::ReadOnly);
QNetworkAccessManager *accessManager1 = new QNetworkAccessManager(this); //在服务器上创建目录
accessManager1->setNetworkAccessible(QNetworkAccessManager::Accessible);
QByteArray data;
QUrl url1(“http://localhost/createFolder.php?foldername=upload”);
QNetworkRequest request1(url1);
request1.setHeader(QNetworkRequest::ContentTypeHeader, QLatin1String(“application/octet-stream”));
accessManager1->post(request1, data);

QNetworkAccessManager *accessManager2 = new QNetworkAccessManager(this); //往该目录中上传文件
accessManager2->setNetworkAccessible(QNetworkAccessManager::Accessible);
QByteArray byte_file = file->readAll();
QUrl url2(“http://localhost/upload.php?foldername=upload&filename=99.txt”); //如这里指定的上传文件至HTTP服务器目录中的upload目录中
QNetworkRequest request2(url2);
request2.setHeader(QNetworkRequest::ContentTypeHeader, “application/octet-stream”);
reply = accessManager2->post(request2, byte_file);

progressBar = new QProgressBar();
progressBar->setValue(0);
progressBar->show();

connect(accessManager2,SIGNAL(finished(QNetworkReply*)),this,SLOT(replyFinished(QNetworkReply*)));
connect(reply, SIGNAL(error(QNetworkReply::NetworkError)),this,SLOT(loadError(QNetworkReply::NetworkError)));
connect(reply, SIGNAL(uploadProgress(qint64 ,qint64)), this, SLOT(loadProgress(qint64 ,qint64)));
}

///

一、遍历出图片名称List

public List fileList(HttpServletRequest request){
List list = new ArrayList();
String path = request.getSession().getServletContext().getRealPath("/");//项目的绝对路径
File file = new File(path+"/file/img");//文件夹路径
File[] files = file.listFiles();//遍历该文件夹
if(null!=files){
for (int i = 0; i < files.length; i++){
File file1 = files[i];
String name = file1.getName();//获取图片名称
list.add(name);
}
return list;
}else{
return null;
}
}


版权声明:本文为CSDN博主「Flykos」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Flykos/article/details/52168543

猜你喜欢

转载自blog.csdn.net/weixin_39354151/article/details/99304577
今日推荐