private static Storage storage = null;
// [START init]
static {
storage = StorageOptions.getDefaultInstance().getService();
}
@SuppressWarnings("deprecation")
@RequestMapping(method = RequestMethod.POST, value = "/imageUpload")
public String uploadFile(FileItemStream fileStream)
throws IOException, ServletException {
String bucketName = "mcqimages";
checkFileExtension(fileStream.getName());
DateTimeFormatter dtf = DateTimeFormat.forPattern("-YYYY-MM-dd-HHmmssSSS");
DateTime dt = DateTime.now(DateTimeZone.UTC);
String dtString = dt.toString(dtf);
final String fileName = fileStream.getName() + dtString;
BlobInfo blobInfo =
storage.create(
BlobInfo
.newBuilder(bucketName, fileName)
.setAcl(new ArrayList<>(Arrays.asList(Acl.of(User.ofAllUsers(), Role.READER))))
.build(),
fileStream.openStream());
return blobInfo.getMediaLink();
}
private void checkFileExtension(String fileName) throws ServletException {
if (fileName != null && !fileName.isEmpty() && fileName.contains(".")) {
String[] allowedExt = {".jpg", ".jpeg", ".png", ".gif"};
for (String ext : allowedExt) {
if (fileName.endsWith(ext)) {
return;
}
}
throw new ServletException("file must be an image");
}
}
最后我想出了这段代码:)。工作得很好。需要凭据将文件上传到GCP存储中。您也可以从JSON格式生成凭据。
Credentials credentials = GoogleCredentials.fromStream(new FileInputStream("C:\\Users\\sachinthah\\Downloads\\MCQ project -1f959c1fc3a4.json"));
Storage storage = StorageOptions.newBuilder().setCredentials(credentials).build().getService();
public CloudStorageHelper() throws IOException {
}
@SuppressWarnings("deprecation")
@RequestMapping(method = RequestMethod.POST, value = "/imageUpload112")
public String uploadFile(@RequestParam("fileseee")MultipartFile fileStream)
throws IOException, ServletException {
String bucketName = "mcqimages";
checkFileExtension(fileStream.getName());
DateTimeFormatter dtf = DateTimeFormat.forPattern("-YYYY-MM-dd-HHmmssSSS");
DateTime dt = DateTime.now(DateTimeZone.UTC);
String dtString = dt.toString(dtf);
final String fileName = fileStream.getName() + dtString;
File file = convertMultiPartToFile( fileStream );
BlobInfo blobInfo =
storage.create(
BlobInfo
.newBuilder(bucketName, fileName)
.setAcl(new ArrayList<>(Arrays.asList(Acl.of(User.ofAllUsers(), Role.READER))))
.build()
// file.openStream()
);
System.out.println(blobInfo.getMediaLink());
return blobInfo.getMediaLink();
}
private File convertMultiPartToFile(MultipartFile file ) throws IOException
{
File convFile = new File( file.getOriginalFilename() );
FileOutputStream fos = new FileOutputStream( convFile );
fos.write( file.getBytes() );
fos.close();
return convFile;
}
private void checkFileExtension(String fileName) throws ServletException {
if (fileName != null && !fileName.isEmpty() && fileName.contains(".")) {
String[] allowedExt = {".jpg", ".jpeg", ".png", ".gif"};
for (String ext : allowedExt) {
if (fileName.endsWith(ext)) {
return;
}
}
throw new ServletException("file must be an image");
}
}
在IntelliJ中启动新项目时,我遇到了一个问题: < li>Maven构建总是成功终止 < li >“重新加载所有Maven项目”导致错误 < li >无法将org . spring framework . boot . spring application导入主类 这是我的pom.xml: 注意:我尝试添加
目前我正在做一个项目,我试图上传一个图像从反应前端到Spring启动后端。我能够成功上传我的图像,并将其存储在我的“目标/类/静态/公共/资产”文件夹中。我还将路径存储在我的数据库中,即“/public/资产/image_name.jpg”。构建“. jar”文件后,当我尝试访问图像时,它会给我这个错误消息。但是我能够访问我存储在“/资源/静态/”文件夹中的那些图像。 我知道这是一个配置问题。但我
我正在使用以下方法来保存信息。 我已经删除了一些用于访问数据库的代码行。 这是日志猫的描述。 E/StorageException:已发生StorageException。发生未知错误,请检查HTTP结果代码和内部异常以获取服务器响应。代码:-13000 HttpResult:0 E/AndroidRuntime:FATAL EXCEPTION:Firebase Storage-Upload-1
问题内容: 我正在使用codeigniter 3.1。我想使用ajax发布上传数据。 Ajax上传文件不起作用。但是,当我发布不带ajax的简单表单时,它工作正常。 我不知道为什么,但控制台没有错误。 的HTML JAVASCRIPT 控制器 问题答案: 问题之一是文件上传使用的机制与其他表单类型不同。这就是为什么没有为您完成工作的原因。其他答案建议使用javascript,而这个答案也可以。 的
我试图上传多张图片到服务器,但总是出现问题。我也尝试了一些其他的解决方案,但是没有效果。 我的错误是 [错误:颤动/库/用户界面/ui_dart_state抄送(166)]未处理的异常:状态错误:无法完成最终确定的请求。E/扑动 (11521): #0 基础请求 (base_request 11521): #11521: #1 多部分请求完成 base_request (multipart_req
当我上传图片时,我收到以下错误: 警告:move _ uploaded _ file(/images/profile 767 abb feae 82141 . jpg)[function . move-uploaded-file]:无法打开流:第5行的/Applications/XAMPP/xamppfiles/htdocs/core/functions/users . PHP中没有这样的文件或目