• [互动交流] OBS使用sdk对接为什么所有操作都是404啊,求助!!!!!!!!
    OBS使用sdk对接为什么所有操作都是404啊,求助!!!!!!!!OBS使用sdk对接为什么所有操作都是404啊,求助!!!!!!!!OBS使用sdk对接为什么所有操作都是404啊,求助!!!!!!!!
  • obs的临时上传token,长达4.7K,能缩短吗?50-100字节以内?
    为什么要搞这么长的token啊?一般的设备都扛不住啊,能弄短点吗?https://bucket-guxiaobei.obs.cn-north-4.myhuaweicloud.com:443/a.jpg?AccessKeyId=00DTG9W7DTXBL4AC8xEY&Expires=1629270622&x-obs-security-token=gQpjbi1ub3J0aC00ijQ626jEHYLgewynxylZHx7koWWEmCX-kiJIjiZEMjeGHUSsDW6iuNNpyxgISAbVn6f2MlPqH1fSfr-gJ4OFOhfnv67OvL6aC_RGK5wIpPhm58uNxy6Z6TchVyePDek3CI7YvNEd3tV08TQDeOA3UvwO02fy2DkqS2AwJOgf0lyKe69SvzICPYpoWUty49gH_GHVw_rpKacy8XuLCj9H49QSgcA-X6mDX6Qnmhl5YOBrWl_7AWbwpGuT2Sid8ON01kdsgThPx3zW7qIvooK6lkCcvq0u74XZTFN015xfPo42JdDl0gMI_qZFGkIq4O_p3fNcAZV8_TfRr5msYiE6bMYo6cE5ZYpRNrOjvR2Uu8jTem-xa5nDf6_LEwbaOWsA057B_9Ih74fVJQGSs1ldGQA1HY6yeEt5xc5YSo9DeYD8R5QHfNgpwL2qM5XUxvWT89MwZNxAZCqEspfPQYh-lYTf5oIHdutE9_Fik7MfDc8Njn1ckjOtcCuVvcxbRa14sBiY1aeGxVqJeNg19LZRGBGmL4N-RdBDep55aBbCDKCO1fzjTrDpEFMrxz57lLXuVOfOo3wzDoFLDq9FkrTy5VOg3x8QC13BjLftTI0hllY0qii5Dj11WWv_6qZo_FU5hLBBOHwZn1lmFO8P93l-R90Jxu4bKQrPxliGi77Bmlo7GCnZ5Q2GCcmnjTC_tliaxKQjXDC58gYsA-tngnlgEqqzw5TN75SelnG0Aj7XhBxWAKsBd-C5eJ6Z1v-G6TmjudP46xUhG7jiBAEmTFnXtdZa4LUj3QZp3JqT25reAPpS121l_jb8q9V4OuEstAqyfoGUqYHyAvU-BewlpvGCGS4RJHVZ6VYQkZUHeFMY-t2q5adgxx17_WCXial8w6_FxoBPFFsZZMSap0n7qK-XSl2RN1g8lJtQBh6G1sujXgXuMNTVrhNx_Sz2oA98d_JgAn5qkmRP75aSnf0KfSXU1Wj9w-Ry4C2ylVIFvqNtPwvGktfWN2b0_OpttO4MRlrPC53oDwo8PAX38qRDsxmZ0wJRBSxras94rKPmoWStmmaSaOcQeaWL8f2H8xs5XDqW_na1PjZGtoIvrUuC4ZoghkfyqFzD5sOpjKP7pxcLR-x1Op2kKo3iOAkGGuaSu4c5l1OSFCkZZL44Z4LZS-urUhp6uu9NpdLk8Aq13vzV4Cmir2GCI721lGQjrxxu4vUD224a6MIQ3OVqreBnrEzwmqqf52p7_rkC54yds84Vaua4BGu619DCiRV2QA-hdlB3WtUoaGOHPc-J2tmF-SsaByqE-rKMkbXUoikaHOZXyy0MVVwmE5ncrjvIKa1aQwHdaJn2KnDk_jEibfe9gdqtFT028X32mYwVf-Wu19KR4brQj__lPhPV8wUSx2kNlqslWx4cz8LTj99qnxnQH-PrWBeBIqQjQtou8K4AcZH3iqN3KtliUrRreuqXioyjqZGU_GccT1n6y4sTscf8xXe38l8w-BCrfgTp7MD1i4lkN-2vv4TryOFvkWDtYxy07EW401OTd9IjgCVJSMgL356iEs-_7xMpNolyr3TZrKU854kxT-pmPMCbzwTtGXfT4rCBkhr9KmdlmXWd366VDLAaZxQL_IgOnCecEsPjdo0Dhasn1EntaAhu92B8rhICUEL8Wr2L2wbDZJwM4baFNiXuV4uA4WPaPKe5-raQnYEFPCFtVkzfOjacIqPAMswcBdnFhxITi08VQuawEXB-DkHHxfpmY2wz9g59NSYJM76sj1QmzgK4SCXfNbBkT07M-btYszaIbY31GF0hJrh_mvuNIKehPNoj1nqk119gcrdT5OADd-72gi9gjbkd0_Gd4E-voNew5riwmfPRX4uBZM5Gg-MAOlBAP-ZXD59ZB0VUrG8kxfrtX27r6OvAXA5XDMrLd8AyRdp-yGa7STI9HX4V45guws12hDCImlBy33SlpbzEjAYqLpe9-PGK9YapFQZ1_Odq8OFvyEijrZFQlLKwaagtKDXlA44VpuLcpZ--EJ1c1B62K9aplLVbZ3Xml3ehDM3yYdAj2s4Z2GCzFv2o_gQAOXMfDfCaF4DlgkU-0dBNlwgWDbgTYDQzwKsnuxZYUyrYdd7cVw33W41HMDV4DFqskTw6v2TL1mZWpvA3ZkK6zirW7F9Pkbg13vH1dhEK624bPNX9YZCc61QSR3e4RlaSP_nadtAqhh1xHrWLOIBA0P6YlrGPVzYQJk5iG00mPGQt9hrfrC7ncgZpcbTHoYSCiwvnkc_zBCN0v0LO-yc-pE9pUP-KdaPTB4ds1B__kNQsaaIGTKMv0uca6QS-3wsRTdYZZt4GtOE85p-PvmqsOFMOd3b4tiJG_yOk3fKIQc8FPX770vo8O8qbCEWnnyZ-iskGKM0Uw26JY_k4ofCZxQiAO_hHe3x7rM-NyR-IBLNMQxbe7WY_rA6_8T1MPDMObQJymkBMqxaHXX2myztu47ndIJk2DsUH_HxQd3i3I_FxmfRrw4necQWDp3Y62kVl14g1E7ISL4mddeDcjrSJ9xFuZ4RHujnXSyigQGAkQyeKNTuPDdJmUme-EUwMCzQPk6r8oWyAHA6kSCGYxWC_9ZZe67595txQakYf74QBrsHD8N_EuD2v_8y5BoYnZBNb0UyxoB3UK-O9RuyDUqJwf26ZR4BOSIgzk-fxGdjcl7IkWTjfe7rj4telp7KeDmZtTZiN7COzyG_2x-ad8I5G0XSs235xAIoYBE5i9oNBS6qI8PlSHq7RkwMatGptIiQGkeU4qVSZKVmgidDzVInsYDVzkNZ6dbyM8nmwN6x37R4niLEYGkQuCh_rVlnMsGiTqI0XPDGVgwFXzHBZdYFe9thpklDcbKV6hcBhL4_WvWldExLT9p4XT468MOn_ETeqnXeE4Y3nCQhSZDHdJT93s64N7MzvhnnDBNOjDWCvLfHPDuhvgKTbBrS7b1GTWsN-NqMAY7EJhhJD2m4HvhLjIum6uCz06cPLokv00lJLEJc-1Xh5aC6VRVpBADu3iIyfhWK4A6i52ATRdh3oMi79DFymHUu5v8VSUU5eOaFLIC8UoqhvgCJwmcE_ECmOut5dkrP_dV6nK7UjgIrgllQYUCC3qc9oHChfGeGlsHMgu9CeuefN5h1iI2Xx7GsnKmF35QgCkJX11-rJDIBlJw9a69fCcl8vTmWFTJCcB85ehKNYsFEv4GdPz10Uq3AnbNP7UcbQXKUubNQrs9L2JrXbt6ZYMulO6REzFv0jY8-kBtCWzXE0v6rNeIensSczEu-HH2LqFyYKdJ3CydIte5mxNVngz3J9PcyWin60XVACXtlBmNr3LwywgJ9b92plsGMiH9UfWm0eR5Y4uccvyrte_gXmWDQFIzQHqNSHB1DcFS1KwGRglcaKEpV6StAxsj_DhvGCTveTsYFr8p1IwfRyLzq9Nq_tV-OGLw7TVtWYRGnTCNK2RJrXx1PrHS1A-YeN5M5z_hfCoA0rJ2yYJRmGrYEwWmXHZ_yvUbnWTZQfiXxIT5Ugiys2tZuLFfxbmF3J3vCT4vSotiXHJ9rpFYRbR8lYXIYJxLLRGOHniAbyyfGsZ8FT4O3IhHLzAyl8OziF-qnb19hkqQfCAflfc5kDiEqYPmtY34G_zNlrz3vJ0bunXDb-Ez8KCA2WG2R1W9GkJSVkEyK5R69ayrGEdGOqhoYVDXK3XiAdg53_3sA2FMzEidlbYs1t5TWqRRx3FSu9O7FD0Z-GPeOMbD-eEs93gFnAkifx8_X4IcuvDwqCrZFc6QpoFkbwI7joM_JN_huwxgjNHYg4wISnyMhKbn-qQqob4DNN2j85gNEHO4TF2NA2vCs74skeAel7x0zontklW3Rj0Ixn8fVnWr1LfvZNGkfdMFODxtsIwH7A9BzLhoSNRNL0glXc7sDyqYIT1Om39UVlK7ayGpLwHgGhuND4ZUzxFMdhwQ181OcrC9UQoAGAV8Oyz_uS250iuR4PTe9BIkvgzUBkMyoxjaRV3wZOTM5lpENeOJ7ieX2tikhzAo4EDvTh1HupKoFiNSEhZzav7aH4Ks811weuh2uWNEQK-9ZvuSCi8ArDAKZL5oF7grh6zIHetnHrm5rOhDXAWTYPr31j16ur7HNNI2ak2zTAlYhVCZ2gAb9OaEh-T3R3ZHzbrlTRYMLH24oINx6HEUZWEpLtXLeJt4-GmbTbHUdJ8ITWe-e0VkQuJC1EhlZ_JG5A5vAFmmaBnKCdBbdZUiDIlQOQ1vMIusYh3H9W_SWjjeWm27aDrynv1ZA3j09bXkl2l3gqdKpDJKxuHUsNdTJ-1WQvXS5eljMbdfBBKKstgt_1B1Lmqk1rVVD8xMwMTvP6z51teqmE17ABp_PCaVNA6XJzFibr-nahmgEuWddSlYKyqZZwSRh2L9_YxTKjU7_AYQ-Lx9cWx3Odzg6BCos8CtmNJZg3fal-ByMxTMv-uzKRjeV1E1wpBrS8b2fUPeH_yMs4vh346nE9A4rgmuf0tKakYXKw9p1oFP0xx3z00dodAmVBKlzFtr_r6zZ_k3_-aPhAnAWqrS7spvGoLF8%3D&Signature=X3TYar2NRhY15tvOlAIkQmsGWEk%3D
  • postman怎么设置,才能往obs桶里,上传一个jpg图片?
    https://bucket-guxiaobei.obs.cn-north-4.myhuaweicloud.com:443/a.jpg?AccessKeyId=00DTG9W7DTXBL4AC8xEY&Expires=1629270622&x-obs-security-token=gQpjbi1ub3J0aC00ijQ626jEHYLgewynxylZHx7koWWEmCX-kiJIjiZEMjeGHUSsDW6iuNNpyxgISAbVn6f2MlPqH1fSfr-gJ4OFOhfnv67OvL6aC_RGK5wIpPhm58uNxy6Z6TchVyePDek3CI7YvNEd3tV08TQDeOA3UvwO02fy2DkqS2AwJOgf0lyKe69SvzICPYpoWUty49gH_GHVw_rpKacy8XuLCj9H49QSgcA-X6mDX6Qnmhl5YOBrWl_7AWbwpGuT2Sid8ON01kdsgThPx3zW7qIvooK6lkCcvq0u74XZTFN015xfPo42JdDl0gMI_qZFGkIq4O_p3fNcAZV8_TfRr5msYiE6bMYo6cE5ZYpRNrOjvR2Uu8jTem-xa5nDf6_LEwbaOWsA057B_9Ih74fVJQGSs1ldGQA1HY6yeEt5xc5YSo9DeYD8R5QHfNgpwL2qM5XUxvWT89MwZNxAZCqEspfPQYh-lYTf5oIHdutE9_Fik7MfDc8Njn1ckjOtcCuVvcxbRa14sBiY1aeGxVqJeNg19LZRGBGmL4N-RdBDep55aBbCDKCO1fzjTrDpEFMrxz57lLXuVOfOo3wzDoFLDq9FkrTy5VOg3x8QC13BjLftTI0hllY0qii5Dj11WWv_6qZo_FU5hLBBOHwZn1lmFO8P93l-R90Jxu4bKQrPxliGi77Bmlo7GCnZ5Q2GCcmnjTC_tliaxKQjXDC58gYsA-tngnlgEqqzw5TN75SelnG0Aj7XhBxWAKsBd-C5eJ6Z1v-G6TmjudP46xUhG7jiBAEmTFnXtdZa4LUj3QZp3JqT25reAPpS121l_jb8q9V4OuEstAqyfoGUqYHyAvU-BewlpvGCGS4RJHVZ6VYQkZUHeFMY-t2q5adgxx17_WCXial8w6_FxoBPFFsZZMSap0n7qK-XSl2RN1g8lJtQBh6G1sujXgXuMNTVrhNx_Sz2oA98d_JgAn5qkmRP75aSnf0KfSXU1Wj9w-Ry4C2ylVIFvqNtPwvGktfWN2b0_OpttO4MRlrPC53oDwo8PAX38qRDsxmZ0wJRBSxras94rKPmoWStmmaSaOcQeaWL8f2H8xs5XDqW_na1PjZGtoIvrUuC4ZoghkfyqFzD5sOpjKP7pxcLR-x1Op2kKo3iOAkGGuaSu4c5l1OSFCkZZL44Z4LZS-urUhp6uu9NpdLk8Aq13vzV4Cmir2GCI721lGQjrxxu4vUD224a6MIQ3OVqreBnrEzwmqqf52p7_rkC54yds84Vaua4BGu619DCiRV2QA-hdlB3WtUoaGOHPc-J2tmF-SsaByqE-rKMkbXUoikaHOZXyy0MVVwmE5ncrjvIKa1aQwHdaJn2KnDk_jEibfe9gdqtFT028X32mYwVf-Wu19KR4brQj__lPhPV8wUSx2kNlqslWx4cz8LTj99qnxnQH-PrWBeBIqQjQtou8K4AcZH3iqN3KtliUrRreuqXioyjqZGU_GccT1n6y4sTscf8xXe38l8w-BCrfgTp7MD1i4lkN-2vv4TryOFvkWDtYxy07EW401OTd9IjgCVJSMgL356iEs-_7xMpNolyr3TZrKU854kxT-pmPMCbzwTtGXfT4rCBkhr9KmdlmXWd366VDLAaZxQL_IgOnCecEsPjdo0Dhasn1EntaAhu92B8rhICUEL8Wr2L2wbDZJwM4baFNiXuV4uA4WPaPKe5-raQnYEFPCFtVkzfOjacIqPAMswcBdnFhxITi08VQuawEXB-DkHHxfpmY2wz9g59NSYJM76sj1QmzgK4SCXfNbBkT07M-btYszaIbY31GF0hJrh_mvuNIKehPNoj1nqk119gcrdT5OADd-72gi9gjbkd0_Gd4E-voNew5riwmfPRX4uBZM5Gg-MAOlBAP-ZXD59ZB0VUrG8kxfrtX27r6OvAXA5XDMrLd8AyRdp-yGa7STI9HX4V45guws12hDCImlBy33SlpbzEjAYqLpe9-PGK9YapFQZ1_Odq8OFvyEijrZFQlLKwaagtKDXlA44VpuLcpZ--EJ1c1B62K9aplLVbZ3Xml3ehDM3yYdAj2s4Z2GCzFv2o_gQAOXMfDfCaF4DlgkU-0dBNlwgWDbgTYDQzwKsnuxZYUyrYdd7cVw33W41HMDV4DFqskTw6v2TL1mZWpvA3ZkK6zirW7F9Pkbg13vH1dhEK624bPNX9YZCc61QSR3e4RlaSP_nadtAqhh1xHrWLOIBA0P6YlrGPVzYQJk5iG00mPGQt9hrfrC7ncgZpcbTHoYSCiwvnkc_zBCN0v0LO-yc-pE9pUP-KdaPTB4ds1B__kNQsaaIGTKMv0uca6QS-3wsRTdYZZt4GtOE85p-PvmqsOFMOd3b4tiJG_yOk3fKIQc8FPX770vo8O8qbCEWnnyZ-iskGKM0Uw26JY_k4ofCZxQiAO_hHe3x7rM-NyR-IBLNMQxbe7WY_rA6_8T1MPDMObQJymkBMqxaHXX2myztu47ndIJk2DsUH_HxQd3i3I_FxmfRrw4necQWDp3Y62kVl14g1E7ISL4mddeDcjrSJ9xFuZ4RHujnXSyigQGAkQyeKNTuPDdJmUme-EUwMCzQPk6r8oWyAHA6kSCGYxWC_9ZZe67595txQakYf74QBrsHD8N_EuD2v_8y5BoYnZBNb0UyxoB3UK-O9RuyDUqJwf26ZR4BOSIgzk-fxGdjcl7IkWTjfe7rj4telp7KeDmZtTZiN7COzyG_2x-ad8I5G0XSs235xAIoYBE5i9oNBS6qI8PlSHq7RkwMatGptIiQGkeU4qVSZKVmgidDzVInsYDVzkNZ6dbyM8nmwN6x37R4niLEYGkQuCh_rVlnMsGiTqI0XPDGVgwFXzHBZdYFe9thpklDcbKV6hcBhL4_WvWldExLT9p4XT468MOn_ETeqnXeE4Y3nCQhSZDHdJT93s64N7MzvhnnDBNOjDWCvLfHPDuhvgKTbBrS7b1GTWsN-NqMAY7EJhhJD2m4HvhLjIum6uCz06cPLokv00lJLEJc-1Xh5aC6VRVpBADu3iIyfhWK4A6i52ATRdh3oMi79DFymHUu5v8VSUU5eOaFLIC8UoqhvgCJwmcE_ECmOut5dkrP_dV6nK7UjgIrgllQYUCC3qc9oHChfGeGlsHMgu9CeuefN5h1iI2Xx7GsnKmF35QgCkJX11-rJDIBlJw9a69fCcl8vTmWFTJCcB85ehKNYsFEv4GdPz10Uq3AnbNP7UcbQXKUubNQrs9L2JrXbt6ZYMulO6REzFv0jY8-kBtCWzXE0v6rNeIensSczEu-HH2LqFyYKdJ3CydIte5mxNVngz3J9PcyWin60XVACXtlBmNr3LwywgJ9b92plsGMiH9UfWm0eR5Y4uccvyrte_gXmWDQFIzQHqNSHB1DcFS1KwGRglcaKEpV6StAxsj_DhvGCTveTsYFr8p1IwfRyLzq9Nq_tV-OGLw7TVtWYRGnTCNK2RJrXx1PrHS1A-YeN5M5z_hfCoA0rJ2yYJRmGrYEwWmXHZ_yvUbnWTZQfiXxIT5Ugiys2tZuLFfxbmF3J3vCT4vSotiXHJ9rpFYRbR8lYXIYJxLLRGOHniAbyyfGsZ8FT4O3IhHLzAyl8OziF-qnb19hkqQfCAflfc5kDiEqYPmtY34G_zNlrz3vJ0bunXDb-Ez8KCA2WG2R1W9GkJSVkEyK5R69ayrGEdGOqhoYVDXK3XiAdg53_3sA2FMzEidlbYs1t5TWqRRx3FSu9O7FD0Z-GPeOMbD-eEs93gFnAkifx8_X4IcuvDwqCrZFc6QpoFkbwI7joM_JN_huwxgjNHYg4wISnyMhKbn-qQqob4DNN2j85gNEHO4TF2NA2vCs74skeAel7x0zontklW3Rj0Ixn8fVnWr1LfvZNGkfdMFODxtsIwH7A9BzLhoSNRNL0glXc7sDyqYIT1Om39UVlK7ayGpLwHgGhuND4ZUzxFMdhwQ181OcrC9UQoAGAV8Oyz_uS250iuR4PTe9BIkvgzUBkMyoxjaRV3wZOTM5lpENeOJ7ieX2tikhzAo4EDvTh1HupKoFiNSEhZzav7aH4Ks811weuh2uWNEQK-9ZvuSCi8ArDAKZL5oF7grh6zIHetnHrm5rOhDXAWTYPr31j16ur7HNNI2ak2zTAlYhVCZ2gAb9OaEh-T3R3ZHzbrlTRYMLH24oINx6HEUZWEpLtXLeJt4-GmbTbHUdJ8ITWe-e0VkQuJC1EhlZ_JG5A5vAFmmaBnKCdBbdZUiDIlQOQ1vMIusYh3H9W_SWjjeWm27aDrynv1ZA3j09bXkl2l3gqdKpDJKxuHUsNdTJ-1WQvXS5eljMbdfBBKKstgt_1B1Lmqk1rVVD8xMwMTvP6z51teqmE17ABp_PCaVNA6XJzFibr-nahmgEuWddSlYKyqZZwSRh2L9_YxTKjU7_AYQ-Lx9cWx3Odzg6BCos8CtmNJZg3fal-ByMxTMv-uzKRjeV1E1wpBrS8b2fUPeH_yMs4vh346nE9A4rgmuf0tKakYXKw9p1oFP0xx3z00dodAmVBKlzFtr_r6zZ_k3_-aPhAnAWqrS7spvGoLF8%3D&Signature=X3TYar2NRhY15tvOlAIkQmsGWEk%3D
  • [技术干货] 华为云 OBS 文件图片上传下载代码
    package com.vulcan.controller.attachment; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.obs.services.ObsClient; import com.obs.services.exception.ObsException; import com.obs.services.model.ObsObject; import com.vulcan.base.BaseController; import com.vulcan.common.util.oss.OBSClient; import com.vulcan.common.util.oss.OSSClientUtil; import com.vulcan.common.util.result.Result; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.RandomStringUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateFormatUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; import sun.misc.BASE64Decoder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.*; import java.net.URLEncoder; import java.text.SimpleDateFormat; import java.util.Date; /** * @描述:上传下载 * @创建时间:2019年04月16日 * @Copyright @2019 by lzh */ @Controller @RequestMapping("/web/attachment") @Slf4j public class Attachment extends BaseController { @Autowired OSSClientUtil ossClientUtil; /** * 5M */ private static final int MAX_POST_SIZE = 5 * 1024 * 1024; /** * 100M */ private static final int MAX_POST_SIZE_FILE = 100 * 1024 * 1024; public static synchronized String getOrder() { return DateFormatUtils.format(new Date(), "yyyyMMddHHmmssSSS") + RandomStringUtils.randomNumeric(6); } /** * 上传图片 * * @param file * @return */ @ResponseBody @RequestMapping(value = "/upload", method = RequestMethod.POST) public Result springUploadFile(MultipartFile file) { String fileName = null; try { if (file.isEmpty()) { return new Result(false, "1", "图片不存在"); } else { //如果上传图片大于5M不予上传 if (file.getSize() > MAX_POST_SIZE) { return new Result(false, "1", "上传图片不能大于5M"); } fileName = file.getOriginalFilename(); boolean isFile = StringUtils.endsWithAny(StringUtils.lowerCase(fileName), new String[]{".png", ".jpg", ".jpeg", ".bmp", ".gif"}); if (isFile) { InputStream inputStream =null; inputStream = file.getInputStream(); return new Result(true,"https://"+ OBSClient.getUrl(RandomStringUtils.random(16, "0123456789"), inputStream),0); // Object address = ossClientUtil.putObject(path, file); } else { return new Result(false, "1", "图片格式不正确"); } } } catch (Exception e) { e.printStackTrace(); return new Result(false, "1", "上传失败"); } } /** * 上传 * * @param file * @return */ @ResponseBody @RequestMapping(value = "/uploadFile", method = RequestMethod.POST) public Result uploadFile(MultipartFile file) { String fileName = null; try { if (file.isEmpty()) { return new Result(false, "1", "请选择图片/文件"); } else { fileName = file.getOriginalFilename(); String[] imgSuffix = {"jpg", "png", "bmp", "jpeg"}; String[] fileSuffix = {"doc", "docx", "pdf", "rar", "zip", "ppt", "xls", "xlsx","pptx"}; //String[] suffix = {"jpg", "png", "bmp", "jpeg", "doc", "docx", "pdf", "rar", "zip", "ppt", "xls", "xlsx"}; boolean isImage = StringUtils.endsWithAny(StringUtils.lowerCase(fileName), imgSuffix); boolean flag = false; Byte type = 0; if (isImage) { //如果上传图片大于5M不予上传 if (file.getSize() > MAX_POST_SIZE) { return new Result(false, "1", "上传图片不能大于5M"); } flag = true; } else { boolean isFile = StringUtils.endsWithAny(StringUtils.lowerCase(fileName), fileSuffix); if (isFile) { if (file.getSize() > MAX_POST_SIZE_FILE) { return new Result(false, "1", "上传文件不能大于100M"); } type = 1; flag = true; } } if (flag) { InputStream inputStream =null; inputStream = file.getInputStream(); String address = OBSClient.getUrl(RandomStringUtils.random(16, "0123456789"),inputStream); JSONObject jsonObject = new JSONObject(); jsonObject.put("type",type); jsonObject.put("url","https://"+address); jsonObject.put("name",fileName); log.info("上传返回值,jsonObject={}", JSON.toJSONString(jsonObject)); return new Result(true, "000","操作成功",jsonObject,0); } else { return new Result(false, "1", "格式不正确"); } } } catch (Exception e) { e.printStackTrace(); return new Result(false, "1", "上传失败"); } } /* public void OssAction(HttpServletRequest request, HttpServletResponse response) throws IOException { String endPoint = "obs.cn-north-1.myhuaweicloud.com"; String ak = "JRDWOVPEKTPCZRYKZCSP"; String sk = "9QCJHq5AL9Meo67pua0NXaMeWg6IjWq6xNPELgdf"; // 创建ObsClient实例 final ObsClient obsClient = new ObsClient(ak, sk, endPoint); ObsObject obsObject = obsClient.getObject("obs-ticket", "objectname"); // 读取对象内容 log.info("Object content:{}",obsObject); InputStream input = obsObject.getObjectContent(); byte[] b = new byte[1024]; ByteArrayOutputStream bos = new ByteArrayOutputStream(); int len; while ((len=input.read(b)) != -1){ bos.write(b, 0, len); } System.out.println(new String(bos.toByteArray())); bos.close(); input.close(); }*/ /** * 文件下载 * @param request * @param response * @param obsKey */ @RequestMapping(value = "/download", method = RequestMethod.GET) public void OssAction(HttpServletRequest request, HttpServletResponse response,String obsKey){ try { String fileName="fapiao.pdf"; String endPoint = "你的endpoint"; String ak = "你的ak"; String sk = "你的sk"; // 创建ObsClient实例 final ObsClient obsClient = new ObsClient(ak, sk, endPoint); ObsObject obsObject = obsClient.getObject("obs-ticket", obsKey.substring(52)); // 已缓冲的方式从字符输入流中读取文本,缓冲各个字符,从而提供字符、数组和行的高效读取 BufferedReader reader = new BufferedReader(new InputStreamReader(obsObject.getObjectContent())); InputStream inputStream = obsObject.getObjectContent(); //缓冲文件输出流 BufferedOutputStream outputStream=new BufferedOutputStream(response.getOutputStream()); //通知浏览器以附件形式下载 // response.setHeader("Content-Disposition","attachment;filename="+ URLEncoder.encode(fileName,"UTF-8")); // 为防止 文件名出现乱码 response.setContentType("application/doc"); final String userAgent = request.getHeader("USER-AGENT"); if(StringUtils.contains(userAgent, "MSIE")){//IE浏览器 fileName = URLEncoder.encode(fileName,"UTF-8"); }else if(StringUtils.contains(userAgent, "Mozilla")){//google,火狐浏览器 fileName = new String(fileName.getBytes(), "ISO8859-1"); }else{ fileName = URLEncoder.encode(fileName,"UTF-8");//其他浏览器 } response.addHeader("Content-Disposition", "attachment;filename=" +fileName);//这里设置一下让浏览器弹出下载提示框,而不是直接在浏览器中打开 //进行解码 如果上传时为了防止乱码 进行解码使用此方法 /*BASE64Decoder base64Decoder = new BASE64Decoder(); byte[] car; while (true) { String line = reader.readLine(); if (line == null) break; car = base64Decoder.decodeBuffer(line); outputStream.write(car); } reader.close();*/ byte[] car = new byte[1024]; int L; while((L = inputStream.read(car)) != -1){ if (car.length!=0){ outputStream.write(car, 0,L); } } if(outputStream!=null){ outputStream.flush(); outputStream.close(); } } catch (IOException e) { e.printStackTrace(); log.error("e:{}",e.getMessage()); } catch (ObsException e){ e.printStackTrace(); log.error("e:{}",e.getMessage()); } } }
  • [已解决问题归档] OBS如何自检自己已有的功能。
    【问题来源】【必填】    武农商    【问题简要】【必填】  OBS如何自检自己已有的功能。【问题类别】【必填】    AICC平台功能【AICC解决方案版本】【必填】    【AICC版本:AICC 8.14】    【UAP版本:UAP9600 V100R005C00SPC018】    【CTI版本:ICD V300R008C22】【期望解决时间】【选填】    尽快【问题现象描述】【必填】  OBS如何自检自己已有的功能。【日志或错误截图】【可选】 
  • [已解决问题归档] OBS外呼接口参考文档
    【问题来源】【必填】    武农商    【问题简要】【必填】 客户侧开发人员需要AICC对应的"OBS外呼接口参考文档"。【问题类别】【必填】    AICC平台功能【AICC解决方案版本】【必填】    【AICC版本:AICC 8.14】    【UAP版本:UAP9600 V100R005C00SPC018】    【CTI版本:ICD V300R008C22】【期望解决时间】【选填】    尽快【问题现象描述】【必填】【日志或错误截图】【可选】如下图 TASKID   这个字段标识在《ICD V300R008C22 OBS外呼业务接口参考》中找不到定义。
  • [技术干货] OBS自动外呼到技能队列问题
    在使用OBS的自动外呼到技能队列中,经常会出现失败的情况,查看obs的日志obs.log,如果日志中出现报:“接口失败 CTIApiName:CccGetDeviceBySkillsWithVDN,VdnID=1,ServiceID=XXXXX,@@HFWH001,ErrorCode:109”,这个报错是因为没有查询到在线的座席签入,而且技能队列名称为HFWH001问题排查点:1. 座席是否签入,而且座席状态是否为空闲状态;2. 座席的技能队列是否包含obs自动外呼配置的技能队列;3. 座席签入时,对应的软电话是否登录;
  • 【OBS】【JAVASDK】javaSDK如何一次性删除不为空(里面有很多对象)的路径
    请问各位大佬:javaSDK如何一次性删除不为空(里面有很多对象)的路径。使用deleteObject一直不成功,返回状态码是204    感谢
  • [互动交流] obs上传覆盖原有图片
    obs上传一张图片后(路径例如:aa/bb/deom1.jpg),第二天如果在此路径下(aa/bb/deom1.jpg)新上传一个图片并且设置图片的生命周期10天,原有的图片会被新上传的图片覆盖,那生命周期10天到期后此路径的图片是否会被自动清理掉
  • [互动交流] ios使用最新版的obs上传图片报错,求助到底问题出在哪
  • [已解决问题归档] 【AICC产品】【OBS接口】AICC 8.14 OBS的CCgateway接口资料下载链接入口在哪。
    【功能模块】AICC 8.14 OBS的CCgateway接口资料下载链接入口在哪【操作步骤&问题现象】无1、2、【截图信息】无【日志信息】(可选,上传日志内容或者附件)无
  • [互动交流] 急急急,OBS上传附件报 403,Forbidden,错误代码AccessDenied,如何解决?请大神指导!!!
    错误代码如下:
  • [互动交流] obs中文件上传方法putObject如何把文件传到桶内指定文件夹下,没有找到相关上传路径参数
    想把文件传到桶内文件夹下,该如何传参try{ $resp = $ObsClient -> putObject([ 'Bucket' => 'test-tongname', 'Key' => $filenametmp, 'SourceFile' =>$file, ]);文档路径https://support.huaweicloud.com/api-obs_php_sdk_api_zh/obs_38_0401.html
  • [互动交流] OBS 上传文件失败返回这个错误
  • [公告] 关于“对象存储服务”、“备份服务”、“云硬盘”的版块合并通知(2021年6月)
    尊敬的用户,您好!因版块运营工作的调整和变动,社区现将“对象存储服务”、“备份服务”、“云硬盘”这三个版块,作为子版块归到“存储服务”版块之下,您可选择从“存储服务”主版块进入相应的子版块浏览往期内容和发布新的内容。如带来不便,我们深感抱歉!特此公示。
总条数:1487 到第
上滑加载中