我正在尝试使用从服务器端(在python中编码)应用程序生成的签名URL将视频文件从Android应用程序上传到S3服务器中的Bucket.我们正在向签名的URL发出PUT请求但我们正在收到
connection reset by peer exception
.
但是当我在POSTMAN REST CLIENT上尝试相同的URL时,会获得成功消息.
任何帮助将不胜感激.
解决方法:
使用Retrofit http客户端库完成此 *** 作,它成功将文件上传到Amazon s3服务器.
码:
public interface UploadService { String BASE_URL = "https://bucket.s3.amazonaws.com/folder"; /** * @param url :signed s3 url string after 'BASE_URL'. * @param file :file to upload,( usage: new Typedfile("mp4", vIDeofile);. * @param cb :callback. */ @PUT("/{url}") voID uploadfile(@Path(value = "url", encode=false) String url, @Body() Typedfile file, Callback<String> cb);}
服务类
public final class ServiceGenerator {private ServiceGenerator() {}public static <S> S createService(Class<S> serviceClass, String baseUrl) { return createService(serviceClass, baseUrl, null, null);}public static <S> S createService(Class<S> serviceClass, String baseUrl, final String accesstoken, final String tokenType) { class MyErrorHandler implements ErrorHandler { @OverrIDe public Throwable handleError(RetrofitError cause) { return cause; } } Gson gson = new GsonBuilder() .setFIEldNamingPolicy(FIEldNamingPolicy.LOWER_CASE_WITH_UNDERscoreS) .registerTypeAdapter(Date.class, new DateTypeAdapter()) .disableHTMLEscaPing() .create(); RestAdapter.Builder builder = new RestAdapter.Builder() .setEndpoint(baseUrl) .setClIEnt(new OkClIEnt(new OkhttpClIEnt())) .setErrorHandler(new MyErrorHandler()) .setLogLevel(RestAdapter.LogLevel.FulL) .setConverter(new GsonConverter(gson)); if (accesstoken != null) { builder.setRequestInterceptor(new RequestInterceptor() { @OverrIDe public voID intercept(RequestFacade request) { request.addheader("Accept", "application/Json;versions=1"); request.addheader("Authorization", tokenType + " " + accesstoken); } }); } RestAdapter adapter = builder.build(); return adapter.create(serviceClass);}
并使用:
UploadService uploadService = ServiceGenerator.createService(UploadService.class,UploadService.BASE_URL);uploadService.uploadfile(remUrl,typedfile,new CallbackInstance());
总结 以上是内存溢出为你收集整理的使用从服务器端应用程序生成的签名URL将文件(视频文件)从android上传到S3服务器全部内容,希望文章能够帮你解决使用从服务器端应用程序生成的签名URL将文件(视频文件)从android上传到S3服务器所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)